首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >mongoexport错误:失败:无法解析+不可识别字段的快照

mongoexport错误:失败:无法解析+不可识别字段的快照
EN

Stack Overflow用户
提问于 2019-06-19 04:56:04
回答 3查看 9.5K关注 0票数 7

目标:将我本地的mongodb数据迁移到mongobd atlas集群。

尝试:

  1. 将本地数据导出为json。
  2. 将json导入到集群。

操作系统: Linuxmint 19.1 Cinnamon

MongoDB --版本mongo shell版本v4.0.10

魔神--版本db版本v3.6.3

我还有一个单独的数据库文件夹。

所以首先我开始

代码语言:javascript
复制
/home/me/mongodb/bin/mongod --dbpath=/home/me/mongodb-data

然后我打开一个终端,输入

代码语言:javascript
复制
~/mongodb/bin $ mongoexport  --db task-manager --collection users --out ~/Desktop/test.json

我原以为任务管理器数据库中的用户集合将以test.json文件的形式打印出来,但我得到的是错误信息:

代码语言:javascript
复制
2019-06-18T22:05:06.108+0200    connected to: localhost
2019-06-18T22:05:06.108+0200    Failed: Failed to parse: { find: "users", filter: {}, sort: {}, skip: 0, snapshot: true, $readPreference: { mode: "secondaryPreferred" }, $db: "task-manager" }. Unrecognized field 'snapshot'.

哪里出了问题,我应该怎么做才能修复它?有没有更好的迁移数据的方法?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2019-06-19 20:01:13

所以我卸载了所有mongodb,并从他们的网站上下载了服务器、shell和工具deb,并确保它们都是Ubuntu 18.04的4.0.10版本。虽然相同的版本似乎包含在synaptic中,但我决定直接安装deb,以防万一,就像我之前做的命令行安装一样,也是从Software Manager安装的,结果是有不同的版本。有了正确的版本,我终于可以输出我想要的json文件了。我也会尝试@sachav提到的mongodump和mongorestore方法。

票数 -1
EN

Stack Overflow用户

发布于 2020-02-08 18:02:40

这通常是由于mongodump与您的mongoDB服务器的版本不同而导致的。

但是增加--forceTableScan交换机就可以解决这个问题

代码语言:javascript
复制
mongodump --forceTableScan -d database_name
票数 30
EN

Stack Overflow用户

发布于 2021-10-01 12:09:37

这是由于mongo 4.0中引入的mongo快照功能,如果mongo客户端低于4.0,而db高于4.0,你可以通过两个选项来解决这个问题:

使用--forceTableScan

  • download
  1. 根据您的操作系统使用最新的mongo client并启动命令,您应该不会看到错误注意:mongo也会发生同样的情况
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56656925

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档