Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
mongodb为什么我们需要getSisterDB_Mongodb - Fatal编程技术网

mongodb为什么我们需要getSisterDB

mongodb为什么我们需要getSisterDB,mongodb,Mongodb,在使用mognodb控制台帮助时,我发现了一个db.getSisterDB()方法 我很好奇这种方法的目的是什么。浏览mongodb文档和快速的google搜索并没有得到令人满意的结果 通过键入db.getSisterDb.help生成错误,并键入db.getSisterDb给出此方法的以下定义: function ( name ){ return this.getMongo().getDB( name ); } 这表明这只是getDB的包装。我建议在中使用它来访问副本集中的数据库,但

在使用mognodb控制台帮助时,我发现了一个
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变量的情况下获取数据库