Mongoexport使用shell脚本查询

时间:2018-01-10 17:38:09

标签: bash mongodb

我使用shell脚本调用mongoexport,但它一直在失败。我的剧本是: -

mongo localhost:27038/admin -u test -p mongo123 < mongoexport.js

和我的mongoexport.js文件是: -

use db1
mongoexport --type=csv --fields _id -q '{"_id": "323549991" , "cat" : "ABC"}' --out report.csv

但是每次我运行它都失败并出现以下错误: -

switched to db db1
2018-01-10T17:36:15.495+0000 E QUERY    [thread1] SyntaxError: missing ;   before statement @(shell):1:14 
bye

现在我不确定我到底弄错了语法。

问候。

1 个答案:

答案 0 :(得分:1)

看起来你正在连接你的mongo。您无需执行此操作即可执行mongoexport。 您只需要连接到您的主机(而不是mongo)。看看official documentation

  

此数据驻留在主机上的MongoDB实例上   mongodb1.example.net在端口37017上运行,这需要   用户名用户和密码传递。

     

mongoexport --host mongodb1.example.net --port 37017 --username user   --password“pass”--collection contacts --db marketing --out mdb1-examplenet.json

在您的情况下,它应该看起来像那样(未经测试

mongoexport --host localhost --port 27038 --username test --password "mongo123" --db admin --collection db1 --type=csv --fields _id -q '{"_id": "323549991" , "cat" : "ABC"}' --out report.csv

我假设您的数据库名为admin,而您的收集名称为db1,如果没有相应地替换它们。