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