在使用mognodb控制台帮助时,我找到了db.getSisterDB()
方法。
我很好奇这种方法的目的是什么。浏览mongodb文档和快速谷歌搜索并没有产生令人满意的结果。
通过键入db.getSisterDb.help会生成错误并键入db.getSisterDB
会给出以下此方法的定义:
function ( name ){
return this.getMongo().getDB( name );
}
这表明这只是getDB
的包装。我的建议是它用于访问副本集中的数据库,但我想听一个能给我更全面解释的人。
答案 0 :(得分:14)
在shell中,db
是对当前数据库的引用。如果要查询同一mongod
实例中的其他数据库,获取正确引用的方法将是使用此方法(具有别名,更具性别中性的getSiblingDB)。
如果您想使用较长的语法,您可以:db.getMongo().getDB(name)
为您提供与db.getSiblingDB(name)
或db.getSisterDB(name)
相同的功能,但前者的输入时间更长。
以上所有内容在独立mongod
以及副本集(和分片群集)中的工作方式相同。
答案 1 :(得分:1)
我要添加到接受的答案中,因为我没有找到我想要的第一个结果。
getSiblingDB
存在脚本编写,其中use
帮助程序不可用
getSiblingDB
是相同getSisterDB
之间的新版本,因此使用兄弟作为getSisterDB
已不在文档中
在shell中使用时,getSiblingDB
用于在不更改db变量的情况下获取数据库