📅  最后修改于: 2020-11-23 01:30:37             🧑  作者: Mango
MongoDB连接方法包括用于启用和禁用与我们的数据库的连接的所有方法。
connect方法用于建立与MongoDB对象的连接。该方法还将引用返回到数据库。在某些情况下,我们可以改用Mongo()实例及其getDB()方法。
例
db = connect("localhost:27017/JTPDatabase")
上面的查询将返回对JTPDatabase的引用,并实例化与在localhost接口上运行的MongoDB对象的新连接,并且:
mongo是JavaScript构造函数,用于为属于mongo shell或JavaScript文件的数据库连接创建实例。
例
使用以下查询将创建来自mongo shell的新连接对象:
cluster = Mongo("mongodb://mymongo.example.net:27017/?replicaSet=myMongoCluster")
为了与mymongo.example.net:27017群集进行交互,我们将针对群集对象发出以下查询:
myDB = cluster.getDB("myDB");
myColl = myDB.getCollection("myColl");
getDB方法用于提供对属于mongo shell或JavaScript文件的数据库对象的访问。
例
db = new Mongo().getDB("JTPDatabase");
上面的查询建立了与在localhost接口上运行的MongoDB对象的新连接,并返回对“ JTPDatabase”的引用:
顾名思义,该临时一致性用于返回布尔结果,该结果指示是否在连接对象上启用了实例的因果一致性。
var conn = Mongo("localhost:27017");
conn.isCausalConsistency()
例
db.getMongo().isCausalConsistency();
上面的查询确定是否在Mongo连接对象上启用了因果一致性,该对象与mongo Shell的全局数据库变量关联:
setcasualconsistency()方法启用或禁用指定连接对象上的因果一致性。默认情况下,此方法将删除对象的连接。
例
下面的查询启用与mongo shell的全局数据库变量关联的MongoDB实例的因果一致性:
db.getMongo().setCausalConsistency();
如果要检查因果一致性是否已为连接启用。您可以使用Mongo.isCausalConsistency()方法。
db.getMongo().isCausalConsistency();
在Mongo连接对象上使用setReadPref方法可控制对指定副本集成员的所有查询的客户端路由的响应。
例子
在以下示例中,将使用读取首选项模式将读取操作定位到辅助成员。
db.getMongo().setReadPref('secondary')
对于特定的标签,secondary将包括标签集数组:
db.getMongo().setReadPref(
"secondary",
[ { "datacenter": "JTP" },
{ "region": "North"},
{ } ])
启动会话方法用于启动连接会话。会话ID将通过mongo shell分配给与该会话关联的命令。
例子
db = db.getMongo().startSession({retryWrites: true, causalConsistency: true}).getDatabase(db.getName());
要启动启用了可重试写入的会话,您必须使用上面的查询,这将帮助您以因果一致性来启用它。
watch方法允许我们为指定的副本集或指定的分片群集打开更改的流游标。除本地,配置和管理数据库外,副本集将更改为报告特定数据库中所有非系统集合的报告。
例
该查询示例在mongoShell的副本集上打开更改流游标。除admin,local和config数据库外,所有数据库将通过返回的游标向所有非系统集合报告数据更改。
watchCursor = db.getMongo().watch()
我们可以使用cursor.isExhausted()方法来迭代游标以检查是否有新事件,并确保仅在对流游标进行更改的情况下才退出循环。
while (!watchCursor.isExhausted())
{
if (watchCursor.hasNext()){
printjson(watchCursor.next());
}}
session方法在mongo shell中为连接建立会话对象。使用Mongo.startSession()为mongo shell中的连接建立会话,
例
将启动与Mongo Shell的全局数据库变量关联的Mongo连接对象上的会话。之后,要检索与会话关联的数据库对象,它将使用Session.getDatabase()方法。
var session = db.getMongo().startSession();
db = session.getDatabase(db.getName());