[MongoDB] mongo shell から別 DB へ接続してクエリを実行する

MongoDB で別データベースに接続してクエリを実行する方法をご紹介します。

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 からクエリを実行しまくれますね。

参考情報