繁体   English   中英

Mongoexport错误解析查询

[英]Mongoexport error parsing query

我正在尝试将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"}'

任何帮助,不胜感激


答案摘要:

  1. 确保使用双引号将查询括起来,并使用单引号将字符串括起来,例如

    --query“ {'recent':'yes'}”

  2. 还要确保查询中没有空格,否则命令提示符会将其解析为另一个参数。 所以没有

    --query“ {'recent':'yes'}”(注意中间的空格)

  3. 包含嵌套字段的查询无法正常工作,例如:

    --query“ {'folder.recent':'yes'}”

您将需要使用双引号来包含查询字符串(以及单引号或两个引号可以转义到字符串内部)

--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'}"

mongoexport文档中

--query,-q

 Provides a JSON document as a query that optionally limits the documents returned in the export. 

您的查询字符串似乎格式正确。 您甚至可以省略最近的双引号。

只要您坚持在外部和内部使用不同的类型,单引号或双引号似乎无关紧要。

您确定这是有效查询吗? 如果在数据库中运行以下命令,输出是什么? find()呢?

db.bar.count({"recent":"yes"})

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM