LearningToDesign
LearningToDesign

Reputation: 75

Redirecting the output to a text file in MongoDB

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

Answers (1)

Abhay PS
Abhay PS

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

Related Questions