我使用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
现在我不确定我到底弄错了语法。
问候。
答案 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,如果没有相应地替换它们。