21

特定のmongodbデータベースに対して.jsスクリプトを実行したいのですが、正しい構文を取得できないようです。

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

これを実行するデータベースを選択するにはどうすればよいですか。さまざまな組み合わせを試しましたがuse foo、成功しませんでした。

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

fooこの場合に使用したいと思います。

4

2 に答える 2

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

または、特定のrunCommandスクリプトがない場合は、次のようにすることができます。

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

戻り値を使用している場合:

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

ファイルの場合

mongo <name of db> some_instructions.js
于 2011-07-19T20:02:27.840 に答える
5

ここMongoDBのドキュメントdb.getSiblingDB()に記載されているように、このメソッドを使用できます。

// Equivalent for "use <db>" command in mongo shell
db = db.getSiblingDB('foo')

useこれは、ヘルパーが利用できないmongoシェルを使用してスクリプトを作成する場合に特に便利です。または、接続文字列でDBを参照できない場合。

于 2020-11-04T14:30:49.793 に答える