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.
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 callmongo
executable from insidemongo
shell.Second, use double quotes in your command.
So, open a terminal window and run the following. It will work.