Search code examples
mongodbmongo-shell

Specify which database to use in mongodb .js script


I just want to run a .js script against a particular mongodb database, but can't seem to get the correct syntax.

echo "print(db.address.find().limit(1));" > test.js
mongo test.js

How do I select the database that this will be executed on, I've tried various combinations of use foo with no success.

> show dbs                      
admin   (empty)
local   (empty)
foo 0.203125GB
bar 0.203125GB

I would like to use foo in this case.


Solution

  • mongo <name of db> --eval "db.runCommand( <js in here> );"
    

    Or if you dont have a specific runCommand script, you can just do:

    mongo <name of db> --eval "<js in here>;"
    

    If you are using a return value:

    mongo <name of db> --eval "db.eval('return fnName()')"
    

    For a file

    mongo <name of db> some_instructions.js