Reputation: 75
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.
Upvotes: 0
Views: 1012
Reputation: 4175
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
Upvotes: 4