2013-10-27 7 views
7

mognodbコンソールのヘルプで遊んでいるうちに、db.getSisterDB()メソッドが見つかりました。mongodb getSisterDBが必要な理由

私はこのメソッドの目的が何か不思議です。 mongodbのドキュメントと簡単なgoogle検索を見ても、満足のいく結果は得られませんでした。 db.getSisterDb.helpを入力して

はエラーを生成し、db.getSisterDBを入力すると、この方法の次の定義与える:

function (name){ 
    return this.getMongo().getDB(name); 
} 

このgetDB周りだけのラッパーであることを示唆しています。レプリカセット内のデータベースにアクセスするために使用されると私は提案しますが、私はより完全な説明を与えることができる人の話を聞きたいと思います。

答えて

13

シェルでは、dbは、現在のデータベースへの参照です。同じmongodインスタンス内の別のDBに対してクエリを行う場合は、このメソッド(エイリアス、ジェンダーニュートラルgetSiblingDB)を使用する方法が適切です。

長い構文を使用する場合は、db.getMongo().getDB(name)db.getSiblingDB(name)またはdb.getSisterDB(name)と同じものになりますが、前者の方が長いと入力できます。

上記のすべては、スタンドアロンmongodとレプリカセット(およびシャードクラスタ)で同じように動作します。

0

私は最初の結果として私が欲しかったものを見つけなかったので、受け入れられた答えに追加するつもりです。

getSiblingDBuseヘルパー

getSiblingDB利用できないスクリプトのために存在する同一getSisterDB間の新しいので、getSisterDBドキュメンテーション

でなくなるようにシェルで使用されるときに兄弟を使用しない、getSiblingDB db変数を変更せずにデータベースを取得する目的で使用されます

関連する問題