MongoDB 连接方法

MongoDB 连接方法包含所有用于启用和禁用与我们的数据库的连接的方法。

一、connect (url, user, password)

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

例子:

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

上述查询将返回对 JTPDatabase 的引用并实例化与MongoDB的新连接在 localhost 接口上运行。

二、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)

setReadPref 方法用于 Mongo 连接对象,以控制客户端路由对指定副本集成员的所有查询的反应。

例子:

以下示例中使用读取首选项模式将读取操作定位到次要成员。

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

对于特定的标记辅助将包括标记集数组:

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

七、Mongo.startSession(<options>)

start session 方法用于为连接启动会话。会话 ID 将由 mongo shell 分配给与会话关联的命令。

例子

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

八、Mongo.watch(pipeline, options)

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 连接对象上的会话将启动,该会话与 mongo shell 的全局数据库变量相关联。之后,要检索与会话关联的数据库对象,它使用 Session.getDatabase() 方法。

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

 

热门文章

优秀文章