mongodb为什么我们需要getSisterDB

Sal*_*ali 10 mongodb

在使用mognodb控制台帮助时,我发现了一种db.getSisterDB()方法.

我很好奇这种方法的目的是什么.通过mongodb文档和快速谷歌搜索查看并没有产生令人满意的结果.

通过键入db.getSisterDb.help生成错误并键入db.getSisterDB以下方法定义此方法:

function ( name ){
    return this.getMongo().getDB( name );
}
Run Code Online (Sandbox Code Playgroud)

这表明这只是一个包装getDB.我的建议是它用于访问副本集中的数据库,但我想听一个可以给我更全面解释的人.

Asy*_*sky 17

在shell中,db是对当前数据库的引用.如果要查询同一mongod实例中的其他数据库,获取对它的正确引用的方法是使用此方法(具有别名,更加性别中立的getSiblingDB).

如果你想使用的时间越长语法,你可以:db.getMongo().getDB(name)让你同样的事情,db.getSiblingDB(name)或者db.getSisterDB(name),但前者是更长的时间来输入.

所有上述工作在独立mongod以及副本集(和分片集群)中的工作方式相同.