我尝试将mongoexport设为CSV,但只选择带查询的某些记录。这是我的命令(windows 7 cmd):
mongoexport --host foo.com --port 27017 --username bar -p --db foo --csv --fields col1,col2,col3 --collection bar --out dump_q.csv --query '{"recent":"yes"}'
但是输入密码后,我收到错误:
assertion: 16619 code FailedToParse: FailedToParse: Expecting '{': offset:0
该命令在没有查询参数的情况下工作正常,但我无法弄清楚查询的错误:
--query '{"recent":"yes"}'
任何帮助非常感谢
确保使用双引号括起查询和单引号以包含字符串,例如
- 查询“{'最近':'是'}”
还要确保查询中没有空格,否则命令提示符会将其解析为另一个参数。所以没有:
- 查询“{'最近':'是'}” (注意中间的空间)
包含嵌套字段的查询不起作用,例如:
- 查询“{'folder.recent':'yes'}”
答案 0 :(得分:5)
您需要使用双引号来包含查询字符串(以及单引号或两个引号以在字符串内转义)
--query "{'recent':'yes'}"
达成:
mongoexport --host foo.com --port 27017 --username bar -p
--db foo --csv --fields col1,col2,col3
--collection bar --out dump_q.csv --query "{'recent':'yes'}"
答案 1 :(得分:0)
- 查询,-q
Provides a JSON document as a query that optionally limits the documents returned in the export.
您的查询字符串似乎已正确格式化。您甚至可以省略 recent 周围的双引号。
单引号或双引号似乎并不重要,只要您坚持在外部和内部使用不同类型。
你确定这是一个有效的查询吗?如果在数据库中运行以下命令,输出结果是什么?那么 find()呢?
db.bar.count({"recent":"yes"})