What are the basics of MongoDB Scripts?
I think the script will end with .js
, and we run it using mongo try.js
But if I put
<
There's a built-in function for printing a json object.
Just append .forEach(printjson)
to the end of the function call.
db.foo.find().forEach(printjson);
linux or mac shell:
user@comp:$ mongo < script.js
The external script files are executed outside of the shell context.
The db.foo.find()
database command only returns a cursor; it doesn't print anything by itself. When the command is issued from the shell, the shell will iterate the cursor and print the results. When the command is run from an external script file, nothing is printed.
The print()
command will print out the string representation of the object. In your case, it's the cursor:
> print(db.foo.find())
DBQuery: test.foo -> undefined
If you need to print results of the query, you'll have to iterate the cursor in your script file and print each result, similarly to what the shell does:
function printResult (r) {
print(tojson(r))
}
db.foo.find().forEach(printResult)