Redirecting the output to a text file in MongoDB

2019-09-02 08:19发布

I want to redirect the output of a mongodb command into a file, but it's not working. I searched a lot on the net, but none of the commands worked for me.

> mongo --quiet 99.99.99.99/db --eval 'printjson(db.productAttribute.distinct('productId'))' > /home/myname/output_query.json

Wed May 13 12:28:58.022 SyntaxError: Unexpected identifier

> mongo --quiet db --eval 'printjson(db.productAttribute.distinct('productId'))' > /home/myname/output_query.json

Wed May 13 12:29:09.896 SyntaxError: Unexpected identifier

The command is simple, and I don't want to put it into a separate .js file. Also, I am trying to execute this command from the mongodb shell itself.

1条回答
老娘就宠你
2楼-- · 2019-09-02 08:48

First, you should not run this in mongo shell. This will only work from linux shell as mongo executable is available in linux shell, but you are trying to call mongo executable from inside mongo shell.

Second, use double quotes in your command.

So, open a terminal window and run the following. It will work.

$ mongo --quiet 99.99.99.99/db --eval 'printjson(db.productAttribute.distinct("productId"))' > /home/myname/output_query.json
查看更多
登录 后发表回答