我有一个简单的脚本来从MongoDB导出:
#!/bin/sh -x
QUERY="'{ \"type\":\"listing\" }'"
mongoexport --db event --collection listing --query $QUERY --fields type,name --csv
(我使用-x开关进行调试)
这是我运行脚本时的输出:
$ ./simple_query.sh
+ QUERY='{ "type":"listing" }'
+ mongoexport --db event --collection listing --query '{ "type":"listing" }' --fields type,name --csv
ERROR: too many positional options
但是,如果我只是将mongoexport行复制并粘贴到提示符下,它就可以了!发生了什么事?
(使用MongoDB 2.0.0)
答案 0 :(得分:0)
您使用的是较早版本的mongodb吗?如果是这样,也许是this错误。它固定在2.0.0- *版本。
修改:实际上这可能是另一个问题。您可以通过删除查询中的空格来修复它。空间似乎让shell认为它实际上是多个参数:
QUERY="'{\"type\":\"listing\"}'"