【问题标题】:Mongodump is not working with new Meteor 1.8Mongodump 不适用于新的 Meteor 1.8
【发布时间】:2018-12-30 05:41:34
【问题描述】:

我刚刚将 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'.

我应该在这里做什么?

【问题讨论】:

    标签: mongodb meteor


    【解决方案1】:

    再次仔细查看错误消息,我看到了:

    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 1.2 中的任何 mongo 版本)更改,并且快照不再存在。该查询还说secondaryPreferred - 暗示它假设一个集群?

    您有数据备份吗? (但愿如此)。如果你的系统还有一个可操作版本,我会回到那个版本,然后从那里做一个 mongodump。

    如果该集合仍然失败,您可以对每个集合发出单独的 mongodump 命令,这有点费力,但也许有效。

    【讨论】:

      【解决方案2】:

      听起来您将重要数据存储在开发数据库中(如果您想备份它)。

      如果您不关心数据,可以使用meteor reset 命令清除数据库。

      如果您关心数据,您可能会遇到问题。失败的收藏是 Kadira 收藏,对您来说并不重要。如果您一直失败,您可以一次转储一个集合。

      【讨论】:

      【解决方案3】:

      将 Mongodb 版本更新到 4.0,这是现在为我修复的最新版本。不过感谢大家的帮助。

      【讨论】:

        猜你喜欢
        • 2016-07-16
        • 1970-01-01
        • 2016-07-19
        • 1970-01-01
        • 1970-01-01
        • 2016-01-02
        • 2016-02-29
        • 2016-04-20
        • 1970-01-01
        相关资源
        最近更新 更多