`

MongoDB的连接字符串介绍

阅读更多

MongoDB连接字符串常用格式

 

 

mongodb://[username:password@]host1[:port1][,host2[:port2],…[,hostN[:portN]]][/[database][?options]]

 

备注:字符串连接不区分大小写,并非所有MongoDB驱动都支持完整的连接字符串,不支持此格式连接字串的驱动会有替代连接方案,具体请参照驱动自身的说明文档,看看如何定义uri标准连接的。

 

 

1、参数说明

 

mongodb:// 这是固定的格式,必须要指定。

 

 username:password@ 可选项,如果设置,在连接数据库服务器之后,驱动都会尝试登陆这个数据库

 

host1 必须的指定至少一个host

 

host1是这个URI唯一要填写的。它指定了要连接服务器的地址。如果要连接复制集,请指定多个主机地址。


 :portX 可选的指定端口,如果不填,默认为27017

 

 /database 如果指定username:password@,连接并验证登陆指定数据库。若不指定,默认打开admin数据库。


 ?options 是连接选项。如果不使用/database,则前面需要加上/。所有连接选项都是键值对name=value,键值对之间通过&或;(分号)隔开

 

 

 

2、options 是连接参数

 

 

  • connect=direct|replicaSet
    • direct: 连接方式为单个服务器。如果提供了多个主机地址,建立连接之后,按顺序访问。如果仅仅指定了一个主机,direct是默认值。
    • replicaSet: 就和描述的那样,连接到replica set . 这个主机地址列表,是为了发现replica set。 如果连接多个主机replicaSet是默认值。

 

  • replicaSet=name
    • 验证replica set的名称。 Impliesconnect=replicaSet.

 

  • slaveOk=true|false
    • true:在connect=direct模式下,驱动会连接第一台机器,即使这台服务器不是主。在connect=replicaSet模式下,驱动会发送所有的写请求到主并且把读取操作分布在其他从服务器。
    • false: 在connect=direct模式下,驱动会自动找寻主服务器. 在connect=replicaSet模式下,驱动仅仅连接主服务器,并且所有的读写命令都连接到主服务器。

 

  • safe=true|false
    • true: 在执行更新操作之后,驱动都会发送getLastError命令来确保更新成功。(还要参考wtimeoutMS).
    • false: 在每次更新之后,驱动不会发送getLastError来确保更新成功。

 

  • w=n
    • 驱动添加 { w : n } 到getLastError命令. 应用于safe=true。

 

  • wtimeoutMS=ms
    • 驱动添加 { wtimeout : ms } 到 getlasterror 命令. 应用于safe=true.

 

  • fsync=true|false
    • true: 驱动添加 { fsync : true } 到 getlasterror 命令.应用于safe=true.
    • false: 驱动不会添加到getLastError命令中。.

 

  • maxPoolSize=n
  • minPoolSize=n
    • 一些驱动会把没用的连接关闭。 然而,如果连接数低于minPoolSize值之下, 它们不会关闭空闲的连接。注意的是连接会按照需要进行创建,因此当连接池被许多连接预填充的时候,minPoolSize不会生效。

 

  • waitQueueTimeoutMS=ms
    • 在超时之前,线程等待连接生效的总时间。如果连接池到达最大并且所有的连接都在使用,这个参数就生效了。

 

  • waitQueueMultiple=n
    • 驱动强行限制线程同时等待连接的个数。 这个限制了连接池的倍数。

 

  • connectTimeoutMS=ms
    • 可以打开连接的时间。

 

  • socketTimeoutMS=ms
    • 发送和接受sockets的时间

 

 

 

参考资料:MongoDB的连接字符串    http://www.studyofnet.com/news/337.html

 

 

分享到:
评论

相关推荐

    MongoDB中连接字符串的编写

    了解这些基本的MongoDB连接字符串格式和参数,能够帮助开发者正确地配置MongoDB的客户端连接,确保应用程序能有效且安全地与数据库交互。在实际应用中,根据不同的需求,可以灵活调整连接字符串的参数,以满足读写...

    各种数据库连接字符串

    6. **MongoDB连接字符串**: MongoDB的连接字符串可能包括主机名、端口、数据库名和认证信息: ``` mongodb://username:password@hostname:port/database?options... ``` 例如: ``` mongodb://user:pass@...

    java连接mongodb的jar包

    Java连接MongoDB主要依赖于MongoDB的Java驱动程序,这是一个允许Java应用程序与MongoDB...在实际开发中,确保正确配置JAR文件,理解连接字符串的格式,以及熟练运用驱动提供的API,是成功实现Java与MongoDB交互的基础。

    MongoDB 连接

    MongoDB 是一个流行的开源、分布式文档数据库...总结起来,MongoDB连接涉及选择合适的驱动,理解连接字符串的构造,以及熟悉相关的管理和监控工具。了解这些知识点有助于有效地操作MongoDB数据库并构建健壮的应用程序。

    Java连接mongoDB需要的jar包

    在实际应用中,你需要根据你的MongoDB服务器配置更改连接字符串。 在处理MongoDB的数据时,你可能会用到`Document`类,它代表了BSON文档,可以用来表示JSON结构。此外,`FindIterable`和`MongoCursor`可以帮助你...

    mongodb-connection-string:从选项哈希创建 mongo 连接字符串

    mongodb 连接字符串npm install mongodb-connection-string用法创建 Mongo 连接字符串 var mongodbConnectionString = require ( 'mongodb-connection-string' ) ;var connectionString = mongodbConnectionString ....

    Matlab连接MongoDB操作指引

    - `connmon` 是一个包含MongoDB连接信息的mongo对象。 - 数据库名为 `mongotest`。 - 用户名为空字符串。 - 数据库服务器为 `dbtb01`。 - 端口号为 `27017`。 - 该数据库包含六个文档集合。其中前三个集合的名字分别...

    mongodb高可用所需yaml

    9. **安全性**:Kubernetes允许通过Secrets和ConfigMaps来安全地管理MongoDB的认证信息,如用户名、密码和连接字符串。同时,可以通过Network Policies限制Pod间的网络通信,提高安全性。 10. **监控与日志**:...

    hapi-mongodb:一个简单的 Hapi MongoDB 连接插件,通过服务器或请求属性访问一个或多个连接池

    MongoDB 连接字符串(例如mongodb://user:pass@localhost:27017 )。 默认为mongodb://localhost:27017 设置:可选。 为连接提供额外设置,请参阅。 装饰:可选。 而是通过服务器和请求装饰访问暴露的对象。 你不...

    java连接mongodb.zip

    1. **初始化连接**:通过`MongoClients.create()`方法创建一个MongoDB客户端实例,传入连接字符串,该字符串包括MongoDB服务器的地址、端口以及认证信息(如果有的话)。 ```java MongoClient mongoClient = ...

    MongoDB with F#

    4. **利用 F# 的类型系统改进 MongoDB 中字符串泛滥的问题** #### MongoDB 基本概念 MongoDB 是一个开源的 NoSQL 数据库,以其灵活的数据模型和高性能而著称。它使用 JSON 格式的文档存储数据,这使得它可以轻松地...

    mongodb.dll 关于C#的驱动连接mongodb数据库

    MongoDB是一个流行的开源、...确保正确引用`mongodb.dll`,并根据项目需求配置连接字符串和数据库操作,即可开始享受MongoDB带来的强大功能。同时,别忘了定期更新驱动程序,以保持与最新版MongoDB的兼容性和性能优化。

    C#连接MongoDB数据库.docx

    以上代码片段展示了如何创建MongoClient对象,通过连接字符串连接到MongoDB服务器,然后获取指定的数据库和集合。`BsonDocument`是MongoDB驱动程序中用于表示文档数据类型的类。你可以根据需要对集合进行读写操作,...

    Node.js Mongodb 密码特殊字符 @的解决方法

    首先,我们来看问题的具体表现:当尝试使用类似`mongodb://username:password@host:port/db`的格式建立连接时,如果`password`中包含“@”,连接字符串会被错误地解析,导致连接失败。为了解决这个问题,有两个主要...

    MongoDBDemo.rar

    7. **安全注意事项**:更改端口后,记得更新所有依赖于MongoDB服务的应用程序配置,包括C#代码中的连接字符串。同时,确保新的端口被防火墙规则允许。 在"MongoDBDemo"项目中,可能包含了实现以上功能的代码示例,...

    详解Java 连接MongoDB集群的几种方式

    也可以使用 MongoClientURI 连接字符串来指定连接设置。例如: ```java MongoClient mongoClient = new MongoClient(new MongoClientURI("mongodb://host1:27017")); ``` 连接副本集 要连接副本集,需要指定副本集...

    【ASP.NET编程知识】asp.net core集成MongoDB的完整步骤.docx

    然后,扩展了 Startup.cs 中的 Services 的扩展方法,配置 MongoDB 连接字符串和数据库名称。 3. 封装 MongoDB 的 CRUD 操作 可以自行封装 MongoDB 的 CRUD 操作,在这里只展示了查找和新增操作。 四、MongoDB....

    C#访问MongoDB数据库的示例代码

    // 定义MongoDB连接字符串 string connectionString = "mongodb://localhost:27017"; // 创建MongoClient实例 IMongoClient mongoClient = new MongoClient(connectionString); // 选择数据库(例如:testDB) ...

    mongodb_replica

    - URI连接字符串是MongoDB连接的重要部分,例如:`mongodb://username:password@host1:port1,host2:port2/dbname?replicaSet=rs0` - 其中,`username`和`password`是数据库认证信息,`host1:port1,host2:port2`是...

Global site tag (gtag.js) - Google Analytics