5

如果要导出任何 mongodb 数据库的任何集合,可以使用mongoexport命令。例如:

mongoexport --db dbname --collection collectionName --query '{"fields":1}' --out output.json

但是,如果您将任何选择条件添加到查询中,mongoexport命令将不起作用。例如,如果您运行以下命令:

mongoexport --db dbname --collection collectionName --query '{},{"fields":0}' --out output.json

生成的 JSON 文件包含每个字段的数据,尽管我排除了一个名为fields.

那么为什么会出现这种奇怪的行为呢?我该如何解决?

供您参考,db.colName.find({},{"fields":0})在 mongoDB shell 中照常工作。

我在 MongoDB 2.4.3 和 OS X 10.9 上。

谢谢。

4

1 回答 1

11

那是因为--query参数只接受查询并且没有传递投影的选项。见官方文档mongoexport --query。如果要使用投影,则必须添加选项--fields

于 2013-11-05T22:45:51.477 回答