Mongo Shellのためにスクリプトを作成します.
javascriptを使ってmongo shellのスクリプトを作成して、mongodbでデータを操作したり、管理操作を行ったりできます.
この教程では、どうやってmongo shellを使ってmongodbを訪問するjavascriptを作成するかを紹介します.
記事の目次新しい接続を開く インタラクティブモンスターとスクリプトモンスターの違い スクリプト作成 --eval option JaveScriptスクリプトを実行する 新しい接続を開く
mongo shellまたはjavascriptファイルから、monogo()構造関数の実用化データベース接続が使用できます.
また、connect()法を用いてMongoDBの例を接続することもできる.以下の例は、非デフォルトポート27018を用いてローカルホスト上で動作するMongoDBの例に接続され、グローバルDB変数を設定する.
対話型モンスターとシナリオ型モンスターの違い
Mongo Shellのためにスクリプトを作成する場合、以下の内容を考慮してください. dbグローバル変数を設定します.getdb()方法またはconnect()方法を使用してください.データベース参照をdb以外の変数に割り当てることができます. デフォルトでは、mongo Shellに操作を書いています.一括操作をしたいなら、Bulk()を使ってください.具体的にはWrite Method Acknowledgementsを参照してください. は、javascriptファイルの中でいかなるshellヘルププログラム(例えば、use、show dbsなど)を使用することができません.彼らは有効なjavascriptではありません.下表では最も一般的なMongo Shellヘルププログラムをそれらのjavascript等価物にマッピングします. Shell Helpers
JavaScript Equivalents
show dbs,show databases
db.adminCommund(‘listDatabases’)
アメリカ
db=db.getSiblingDB(')
ショー・コレクション
db.get Collection Names()
show users
db.getUsers()
show roles
db.getRoles({show Builltin Roles:true}
ショーロゴ
db.adminCommmand({{get Log}:'})
ショーロゴ
db.adminCommmand({{get Log}:'*})
it
cursor=db.co llection.find()if(cursor.has Next(){cursor.next();は、相互作用モードにおいて、すべてのカーソルの内容を含む、mongo印刷の結果を出力する.スクリプトでは、Javascript print関数を使うか、またはmongo特有のprint json関数を使ってフォーマットされたjsonを返します.例えば、モンゴルshellスクリプトで結果カーソルのすべてを印刷するには、次のような習慣を使ってください.
システムのヒントの下で、javascriptをmono goで評価します.
–eval option
使用–evalオプションmongoは、次のようにjavascriptセグメントをshellに伝えます. 方法1:linux shellコマンドライン 方法2:mongodb shellコマンドライン
この教程では、どうやってmongo shellを使ってmongodbを訪問するjavascriptを作成するかを紹介します.
記事の目次
mongo shellまたはjavascriptファイルから、monogo()構造関数の実用化データベース接続が使用できます.
new Mongo()
new Mongo(<host>)
new Mongo(<host:port>)
以下の例を考慮して、この例は、デフォルトポート上でローカルホスト上で動作するmongodbのインスタンスの新しい接続になり、getdbを使用してデータベースmydatabaseを選択して、現在のデータベースとする.conn = new Mongo();
db = conn.getDB("myDatabase");
強制アクセス制御のMongoDB例に接続すると、db.auth()法を用いてアイデンティティ検証が可能となる.また、connect()法を用いてMongoDBの例を接続することもできる.以下の例は、非デフォルトポート27018を用いてローカルホスト上で動作するMongoDBの例に接続され、グローバルDB変数を設定する.
> db=connect("localhost:27018")
connecting to: localhost:27018
Implicit session: session { "id" : UUID("4fb851d6-fb74-472f-abb5-68ef675556cf") }
MongoDB server version: 4.0.6
test
> db=connect("localhost:27018/myDatabase")
connecting to: mongodb://localhost:27018/myDatabase
Implicit session: session { "id" : UUID("bb409c38-6ff6-40c9-90b3-bd7bcdaabb60") }
MongoDB server version: 4.0.6
myDatabase
もっと参考にしてください.モンゴルシェルMethods対話型モンスターとシナリオ型モンスターの違い
Mongo Shellのためにスクリプトを作成する場合、以下の内容を考慮してください.
JavaScript Equivalents
show dbs,show databases
db.adminCommund(‘listDatabases’)
アメリカ
db=db.getSiblingDB(')
ショー・コレクション
db.get Collection Names()
show users
db.getUsers()
show roles
db.getRoles({show Builltin Roles:true}
ショーロゴ
db.adminCommmand({{get Log}:'})
ショーロゴ
db.adminCommmand({{get Log}:'*})
it
cursor=db.co llection.find()if(cursor.has Next(){cursor.next();
cursor = db.collection.find();
while ( cursor.hasNext() ) {
printjson( cursor.next() );
}
スクリプト作成システムのヒントの下で、javascriptをmono goで評価します.
–eval option
使用–evalオプションmongoは、次のようにjavascriptセグメントをshellに伝えます.
$ mongo test --eval "printjson(db.getCollectionNames())"
MongoDB shell version v4.0.6
connecting to: mongodb://127.0.0.1:27017/test?gssapiServiceName=mongodb
Implicit session: session { "id" : UUID("19124a55-be9b-4342-bdb7-af076b4a22f6") }
MongoDB server version: 4.0.6
[ ]
JaveScriptスクリプトを実行します.$ mongo localhost:27017/test myjsfile.js
この動作は、ポート27017上のlocalhostインターフェースを介してアクセスできるmongodインスタンス上のテストデータベースに接続されたmyjsfile.jsスクリプトをmongo shellで実行する.> load("myjstest.js")
方法は相対パスと絶対パスを受け入れる.mongo shellの現在の作業ディレクトリが/data/dbであり、myjstest.jsが/data/db/scriptsディレクトリにある場合、mongo shellの以下の呼び出しは等価となります.> load("scripts/myjstest.js")
> load("/data/db/scripts/myjstest.js")
原文:https://docs.mongodb.com/manual/tutorial/write-scripts-for-the-mongo-shell/