我试图导出我的收藏的一部分。我只想要包含特定“搜索”的文档。 ID。虽然要隔离相关文档,但我无法弄清楚我在定义查询时遇到了什么问题。这就是我要输入的内容:
mongoexport --db data --collection user_admin --fieldFile exportfields.txt --query {'search':ObjectId("5621634716c878440a4e4aaf")} --type=csv --out user_admin.csv
这是我收到的错误:
错误验证设置:查询 ' {'搜索':的ObjectId(5621634716c878440a4e4aaf)}'是无效的JSON: 无效字符' c'在构造函数参数之后
谢谢! :)
P.S。我使用的是Mongod v3.0.6
答案 0 :(得分:5)
我在JSON查询中找到了正确的引号顺序,因为我通过Windows命令提示符运行它:
mongoexport --db data --collection user_admin --fieldFile exportfields.txt --query "{'search':ObjectId('5621634716c878440a4e4aaf')}" --type=csv --out user_admin.csv
答案 1 :(得分:1)
根据documentation,您必须将查询括在单引号中。但是,根据经验,这在使用Windows命令提示符时不适用。如果使用DOS命令提示符,则需要用双引号括起查询,但用单引号替换查询中的每个引号。
因此,如果您不使用Windows DOS,那么您的查询应该是这样的:
--query '{"search":ObjectId(5621634716c878440a4e4aaf)}'
或者从命令行执行mongoexport
时喜欢这样:
--query "{'search':ObjectId(5621634716c878440a4e4aaf)}"