MongoDB - 连接方式

MongoDB - 连接方式 首页 / MongoDB入门教程 / MongoDB - 连接方式

MongoDB连接方法包括用于启用和禁用与无涯教程的数据库的连接的所有方法。

connect (url, user, password)

connect方法用于建立与MongoDB对象的连接。该方法还将引用返回给数据库。在某些情况下,无涯教程可以改用Mongo()实例及其getDB()方法。

示例

db = connect("localhost:27017/JTPDatabase")

上面的查询将返回对JTPDatabase的引用,并实例化与运行在localhost接口上的 MongoDB 对象的新连接,并且:

Mongo(host,ClientSideFieldLevelEncryptionOptions)

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");

Mongo.getDB(<database>)

GetDB方法用于提供对属于Mongo Shell或JavaScript文件的数据库对象的访问。

示例

db = new Mongo().getDB("JTPDatabase");

上面的查询建立了与在localhost接口上运行的MongoDB对象的新连接,并返回对" JTPDatabase"的引用:

Mongo.isCausalConsistency()

顾名思义,该临时一致性用于返回布尔结果,该结果指示是否在连接对象上启用了实例的因果一致性。

var conn = Mongo("localhost:27017");
conn.isCausalConsistency()

示例

db.getMongo().isCausalConsistency();

上面的查询确定是否在Mongo连接对象上启用了因果一致性,该对象与mongo shell的全局数据库变量关联:

Mongo.setCausalConsistency(<boolean>)

setcasualconsistency()方法启用或禁用指定连接对象上的因果一致性。默认情况下,此方法将删除对象的连接。

示例:  下面的查询启用与mongo shell的全局数据库变量关联的MongoDB实例的因果一致性:

db.getMongo().setCausalConsistency();

如果要检查因果一致性是否已为连接启用。您可以使用Mongo.isCausalConsistency()方法。

db.getMongo().isCausalConsistency();

Mongo.setReadPref(mode,tagSet)

在Mongo连接对象上使用setReadPref方法可控制对指定副本集成员的所有查询的客户端路由的响应。

示例:  在以下示例中,将使用读取首选项模式将读取操作定位到辅助成员。

db.getMongo().setReadPref('secondary')

对于特定的标签,secondary将包括标签集数组:

db.getMongo().setReadPref(
   "secondary",
   [ { "datacenter": "JTP" },   
      { "region": "North"},      
      { }   ])

Mongo.startSession(<options>)

启动会话方法用于启动连接会话。会话ID将通过mongo shell分配给与该会话关联的命令。

示例

db = db.getMongo().startSession({retryWrites: true, causalConsistency: true}).getDatabase(db.getName());

要启动启用了可重试写入的会话,您必须使用上面的查询,该查询将帮助您启用因果一致性。

Mongo.watch(pipe,option)

watch方法允许无涯教程为指定的副本集或指定的分片群集打开更改的流游标。

示例: 该查询示例在mongoShell的副本集上打开更改流游标。除admin,local和config数据库外,所有数据库将通过返回的游标将数据更改报告给所有非系统集合。

watchCursor = db.getMongo().watch()

无涯教程可以使用cursor.isExhausted()方法来迭代游标以检查新事件,并确保仅在对流游标进行更改的情况下才退出循环。

while (!watchCursor.isExhausted())
{
   if (watchCursor.hasNext()){
      printjson(watchCursor.next());
   }}

session()

session方法在mongo shell中为连接建立会话对象。使用Mongo.startSession()为mongo shell中的连接建立会话,

示例:  将启动与Mongo Shell的全局数据库变量关联的Mongo连接对象上的会话。之后,要检索与会话关联的数据库对象,它将使用Session.getDatabase()方法。

var session = db.getMongo().startSession();
db = session.getDatabase(db.getName());

祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)

技术教程推荐

深入浅出计算机组成原理 -〔徐文浩〕

Python核心技术与实战 -〔景霄〕

ZooKeeper实战与源码剖析 -〔么敬国〕

研发效率破局之道 -〔葛俊〕

TensorFlow 2项目进阶实战 -〔彭靖田〕

讲好故事 -〔涵柏〕

说透区块链 -〔自游〕

深入剖析Java新特性 -〔范学雷〕

Serverless进阶实战课 -〔静远〕

好记忆不如烂笔头。留下您的足迹吧 :)