db.getSiblingDB()
定义
兼容性
此方法可用于以下环境中托管的部署:
MongoDB Atlas:用于云中 MongoDB 部署的完全托管服务
注意
所有 MongoDB Atlas 集群都支持此命令。有关 Atlas 对所有命令的支持的信息,请参阅不支持的命令。
MongoDB Enterprise:基于订阅、自我管理的 MongoDB 版本
MongoDB Community:源代码可用、免费使用且可自行管理的 MongoDB 版本
例子
您可以使用 db.getSiblingDB()
作为 use
<database>
辅助程序的替代方案。使用 mongosh
编写脚本时,如果未提供 use
辅助程序,这个功能就特别有用。
考虑具有两个数据库 users
和 records
的 MongoDB 实例。active
集合是users
数据库的一部分。requests
集合是records
数据库的一部分。
指定数据库
此操作将 db
对象设置为指向名为 users
的数据库,然后返回 active
集合的 document count
。
db = db.getSiblingDB('users') db.active.countDocuments()
使用多个数据库
您可以创建多个引用不同数据库的 db
对象,如下列操作所示:
users = db.getSiblingDB('users') records = db.getSiblingDB('records') users.active.countDocuments() users.active.findOne() records.requests.countDocuments() records.requests.findOne()
此操作创建两个db
对象。每个db
对象都指向一个不同的数据库,即users
或records
。
对于每个数据库,该查询返回:
一个
document count
和
来自该数据库中的一个集合。