MongoDB で別データベースに接続してクエリを実行する方法をご紹介します。
前提
2つの DB サーバで保存する collection を分けて管理しているとします。
データベース1
- Host: mongodb1
- Port: 27017
- DB: myDb
データベース2
- Host: mongodb2
- Port: 27017
- DB: myDb
別 DB への connection を作成する方法
mongo shell で query を実行するときに別 DB の collection も扱いたい場合、その DB への connection を作成してあげればいいです。
$ mongo mongodb1/myDb
mongodb1> db2 = connect("mongodb2:27017/myDb")
connecting to: mongodb2:27017/myDb
myDb
// mongodb2 サーバにの mdDb に保存されている somecollections のデータを扱うことができる
mongodb1> db2.somecollections.findOne()
DB サーバが1台のときは気にしなくてよかったのですが、複数台になると別 DB サーバへのコネクションを扱う Tips も知っておけば今までどおり mongo shell からクエリを実行しまくれますね。
