我试图从我的数据库备份3篇文章,我有他们的ID,但当我尝试使用mongodump时,我似乎无法编写正确的json查询。我得到一个JSON错误消息,或者一些神秘的cannot decode objectID into a slice
消息。
下面是我正在尝试运行的命令:mongodump -d 'data' -c 'articles' -q '{"$oid": "5fa0bd32f7d5870029c7d421" }'
个
这是返回ObjectID into a slice
错误,我真的不明白。我也尝试了ObjectId,像这样:mongodump -d 'data' -c 'articles' -q '{"_id": ObjectId("5fa0bd32f7d5870029c7d421") }'
个
但是这个给了我一个invalid JSON
错误。
我试过所有形式的逃避,逃避双引号,逃避美元,但没有什么似乎没有工作。我很绝望,我讨厌Mongodb。我能得到的最接近工作解决方案是这样的:mongodump -d 'nikkei' -c 'articles' -q '{"_id": "ObjectId(5fa0bd32f7d5870029c7d421)" }'
个
我说最接近是因为这并没有失败,命令运行但返回done dumping data.articles (0 documents)
,如果我理解正确的话,这意味着没有保存任何文章。
查询的正确格式是什么?我使用的是mongodump版本r4.2.2。
4条答案
按热度按时间58wvjzkj1#
我使用$oid方法解决了集合中字段“_id”的ObjectId类型问题,方法如下:
第一个月
o8x7eapl2#
我收集了这四个文件:
字符串
我使用
mongodump
进行二进制导出。这是在Windows操作系统上使用MongoDB v4.2。型
wn9m85ua3#
以下是对使用Python的人的回答:
注意:您的系统上必须安装有Mongo数据库工具
字符串
k4ymrczo4#
如果您的查询是JSON,请尝试此格式。
字符串
没有其他的东西可以查询,比如标题吗?可能会让事情简单一点。
我从mongoDB文档中找到了这个。这是相当远的网页,但这里是链接。
https://docs.mongodb.com/database-tools/mongodump/#usage-in-backup-strategy