2013-10-27 13 views
7

Mognodb konsolu yardımı ile çalışırken, db.getSisterDB() yöntemini buldum.mongodb neden getSisterDB

Ve bu yöntemin amacı nedir merak ediyorum. Mongodb belgelerini ve hızlı bir google arama ile tatmin edici sonuçlar vermedi. db.getSisterDb.help yazarak

bir hata üretir ve db.getSisterDB yazarak bu yöntem aşağıdaki tanımı verilmektedir:

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

bu sadece bir sargı yaklaşık getDB olduğunu göstermektedir. Bir çoğaltma kümesinde veritabanlarına erişmek için kullanıldığına dair öneri, ama bana daha kapsamlı bir açıklama yapabilecek birisini dinlemek istiyorum.

cevap

13

Kabukta, db geçerli veritabanının bir referansıdır. Aynı mongod örneğinde farklı bir DB'ye karşı sorgulamak isterseniz, uygun bir başvuru almanın yolu bu yöntemi kullanmaktır (bu, bir takma adı olan daha fazla cinsiyet nötr getSiblingDB'dir). Daha uzun sözdizimi kullanmak istiyorsa

, yapabilirsin: db.getMongo().getDB(name)db.getSiblingDB(name) veya db.getSisterDB(name) olarak sana aynı şeyi alır fakat eski yazmanız daha uzundur.

Yukarıdaki çalışmaların tümü, tek başına mongod'un yanı sıra çoğaltma kümeleri (ve keskinleştirilmiş kümeler) ile aynı şekilde.

0

Kabul edilen cevabı ekleyeceğim çünkü ilk sonuç olarak istediğimi bulamadım.

getSiblingDB

use yardımcı

getSiblingDB özdeş getSisterDB arasında yeni olup mevcut değildir komut dosyası için mevcuttur, bu yüzden getSisterDB belgelerinde artık olarak kardeş kullanmak

kabuk içerisinde kullanıldı

, getSiblingDB db değişkeni

değiştirmeden bir veritabanı alma amacına hizmet eder