Mongodump 不适用于新的 Meteor 1.8
Mongodump is not working with new Meteor 1.8
我刚刚将 Meteor 从 1.2 更新到 1.8,我的应用程序变得非常慢。
我想备份我的数据库
mongodump -h 127.0.0.1 --port 3001 -d meteor
但是它给我这个错误:
mongodump -h 127.0.0.1 --port 3001 -d meteor
2018-12-21T16:37:04.269+0500 writing meteor.__kdtimeevents to
2018-12-21T16:37:04.269+0500 writing meteor.__kdtraces to
2018-12-21T16:37:04.269+0500 writing meteor.users to
2018-12-21T16:37:04.270+0500 writing meteor.jobPaymentDetails to
2018-12-21T16:37:04.270+0500 Failed: error writing data for collection `meteor.__kdtimeevents` to disk: error reading collection: Failed to parse: { find: "__kdtimeevents", skip: 0, snapshot: true, $readPreference: { mode: "secondaryPreferred" }, $db: "meteor" }. Unrecognized field 'snapshot'.
我应该在这里做什么?
听起来你正在将重要数据存储在开发数据库中(如果你想备份的话)。
如果您不关心数据,可以使用meteor reset
命令清除数据库。
如果你关心数据,你可能有问题。失败的系列是 Kadira 系列,对您来说并不重要。如果你总是失败,你可以一次转储一个集合。
再次仔细查看错误消息,我看到了:
meteor.__kdtimeevents` to disk: error reading collection:
Failed to parse:
{ find: "__kdtimeevents",
skip: 0,
snapshot: true,
$readPreference: {
mode: "secondaryPreferred"
},
$db: "meteor" }.
Unrecognized field 'snapshot'.
该错误可能意味着数据库结构发生了变化(无论 mongo 版本与 Meteor 1.2 一起使用),并且快照不再存在。该查询还说 secondaryPreferred
- 表明它假设一个集群?
您有数据备份吗? (但愿如此)。如果您的系统仍有运行版本,我会回到那个版本,然后从那里进行 mongo 转储。
如果在该集合上仍然失败,您可以对每个集合发出单独的 mongo转储命令,有点费力,但也许有效。
正在将 Mongodb 版本更新到 4.0,这是现在的最新版本,已为我修复。谢谢大家的帮助。
我刚刚将 Meteor 从 1.2 更新到 1.8,我的应用程序变得非常慢。
我想备份我的数据库
mongodump -h 127.0.0.1 --port 3001 -d meteor
但是它给我这个错误:
mongodump -h 127.0.0.1 --port 3001 -d meteor
2018-12-21T16:37:04.269+0500 writing meteor.__kdtimeevents to
2018-12-21T16:37:04.269+0500 writing meteor.__kdtraces to
2018-12-21T16:37:04.269+0500 writing meteor.users to
2018-12-21T16:37:04.270+0500 writing meteor.jobPaymentDetails to
2018-12-21T16:37:04.270+0500 Failed: error writing data for collection `meteor.__kdtimeevents` to disk: error reading collection: Failed to parse: { find: "__kdtimeevents", skip: 0, snapshot: true, $readPreference: { mode: "secondaryPreferred" }, $db: "meteor" }. Unrecognized field 'snapshot'.
我应该在这里做什么?
听起来你正在将重要数据存储在开发数据库中(如果你想备份的话)。
如果您不关心数据,可以使用meteor reset
命令清除数据库。
如果你关心数据,你可能有问题。失败的系列是 Kadira 系列,对您来说并不重要。如果你总是失败,你可以一次转储一个集合。
再次仔细查看错误消息,我看到了:
meteor.__kdtimeevents` to disk: error reading collection:
Failed to parse:
{ find: "__kdtimeevents",
skip: 0,
snapshot: true,
$readPreference: {
mode: "secondaryPreferred"
},
$db: "meteor" }.
Unrecognized field 'snapshot'.
该错误可能意味着数据库结构发生了变化(无论 mongo 版本与 Meteor 1.2 一起使用),并且快照不再存在。该查询还说 secondaryPreferred
- 表明它假设一个集群?
您有数据备份吗? (但愿如此)。如果您的系统仍有运行版本,我会回到那个版本,然后从那里进行 mongo 转储。
如果在该集合上仍然失败,您可以对每个集合发出单独的 mongo转储命令,有点费力,但也许有效。
正在将 Mongodb 版本更新到 4.0,这是现在的最新版本,已为我修复。谢谢大家的帮助。