MongoDB 标准连接字符串

本文涉及的产品
云数据库 MongoDB,通用型 2核4GB
简介: MongoDB 标准连接字符串mongodb://[username:password@]host1[:port1][,host2[:port2],…[,hostN[:portN]]][/[database][?options]]注:并非所有MongoDB驱动都支持完整的连接字符串,不支持此格式连接字串的驱动会有替代连接方案,具体请参照驱动自身的说明文档。

MongoDB 标准连接字符串
mongodb://[username:password@]host1[:port1][,host2[:port2],…[,hostN[:portN]]][/[database][?options]]
注:并非所有MongoDB驱动都支持完整的连接字符串,不支持此格式连接字串的驱动会有替代连接方案,具体请参照驱动自身的说明文档。

 mongodb:// 是连接字串必须的前缀字串
 username:password@ 可选项,连接到数据库后会尝试验证登陆
 host1 必须的指定至少一个host
 :portX 可选项,默认连接到27017
 /database 如果指定username:password@,连接并验证登陆指定数据库。若不指定,默认打开admin数据库。
 ?options 是连接选项。如果不使用/database,则前面需要加上/。所有连接选项都是键值对name=value,键值对之间通过&或;(分号)隔开

连接选项包括:
Replica set:
replicaSet=name
驱动会校验replica set的名字。意味着给定的hosts是主库(seed list),驱动将试图找到replica set中的所有成员。(•The driver verifies that the name of the replica set it connects to matches this name. Implies that the hosts given are a seed list, and the driver will attempt to find all members of the set.)

Single server:
slaveOk=true|false

自由选项:
safe=true|false
 true: 驱动程序会在提交每次更新操作后执行getLastError命令以确认更新是有效的(参见w和wtimeoutMS)
 false:驱动程序在每次更新操作后不会执行getLastError
w=n
 驱动在getLastError命令加上{ w : n } 参数。意味着safe=true
wtimeoutMS=ms
 驱动在getLastError命令加上{ wtimeout : ms }参数。意味着safe=true.
fsync=true|false
 true: 驱动在getLastError命令加上{ fsync : true } 参数。意味着safe=true.
 false: 驱动不在getlasterror 命令加fsync参数。
journal=true|false
 true: 同步到 journal. 意味着safe=true.
connectTimeoutMS=ms
 设置建立连接超时,单位ms
socketTimeoutMS=ms
 设置socket发送或接受超时时间,单位ms

这些选项都是大小写不敏感的。

连接MongoDB(默认连接到localhost:27017)

使用用户fred和密码foobar连接

使用用户fred和密码foobar连接,指定数据库baz

连接到两台服务器组成的Replica Sets

mongodb://example.com:27017,example2.com:27017

连接到三台本地服务器组成的Replica Sets(分别使用27017、27018和27019端口)

mongodb://localhost,localhost:27018,localhost:27019

连接到三台服务器组成的Replica Sets,把所有写操作集中在主库,读操作分布在各丛库

mongodb://host1,host2,host3/?slaveOk=true

使用安全模式连接

安全模式下连接到一组Replica Sets,等待至少两台机器同步成功,并设置两秒的超时时间

mongodb://host1,host2,host3/?safe=true;w=2;wtimeoutMS=2000

连接池(Connection Pooling)
服务器每个TCP连接对应一个进程。强力推荐你在应用程序中实现自身的连接池。多数驱动程序也会在背后悄悄帮你做连接池。一个常见的例外是你的应用会为每个请求重新配置一个新进程譬如CGI和PHP。

相关实践学习
MongoDB数据库入门
MongoDB数据库入门实验。
快速掌握 MongoDB 数据库
本课程主要讲解MongoDB数据库的基本知识,包括MongoDB数据库的安装、配置、服务的启动、数据的CRUD操作函数使用、MongoDB索引的使用(唯一索引、地理索引、过期索引、全文索引等)、MapReduce操作实现、用户管理、Java对MongoDB的操作支持(基于2.x驱动与3.x驱动的完全讲解)。 通过学习此课程,读者将具备MongoDB数据库的开发能力,并且能够使用MongoDB进行项目开发。   相关的阿里云产品:云数据库 MongoDB版 云数据库MongoDB版支持ReplicaSet和Sharding两种部署架构,具备安全审计,时间点备份等多项企业能力。在互联网、物联网、游戏、金融等领域被广泛采用。 云数据库MongoDB版(ApsaraDB for MongoDB)完全兼容MongoDB协议,基于飞天分布式系统和高可靠存储引擎,提供多节点高可用架构、弹性扩容、容灾、备份回滚、性能优化等解决方案。 产品详情: https://www.aliyun.com/product/mongodb
目录
相关文章
|
4月前
|
存储 NoSQL MongoDB
mongodb 时间存字符串的好处
在 MongoDB 中将时间存储为字符串(String)的方式可能具有一些优势,取决于你的使用情况和需求。以下是一些可能的好处: 1. **人类可读性:** 存储时间作为字符串可以更容易地为人类理解和阅读。这在开发和调试过程中可能是很有用的,特别是当你直接查看数据库中的数据时。 2. **格式灵活性:** 字符串格式提供了更大的灵活性,你可以选择任何你喜欢的时间表示方式,而不受 MongoDB 内置日期类型的限制。这使得能够存储不同格式的日期和时间,以适应各种需求。 3. **无需时区考虑:** 字符串存储方式不涉及时区问题,因为它们只是简单的字符序列,不包含关于时区的信息。这可以避免在
|
存储 NoSQL 前端开发
【MongoDB实战】Java中如何对MongoDB字符串数值进行排序
案例讲解Java中如何对MongoDB字符串数值进行排序
876 0
【MongoDB实战】Java中如何对MongoDB字符串数值进行排序
|
4月前
|
JSON NoSQL 小程序
Mongodb数据库的导出和导入总结
Mongodb数据库的导出和导入总结
205 0
|
7天前
|
NoSQL MongoDB 数据库
MongoDB数据恢复—MongoDB数据库文件被破坏的数据恢复案例
服务器数据恢复环境: 一台Windows Server操作系统服务器,服务器上部署MongoDB数据库。 MongoDB数据库故障&检测: 工作人员在未关闭MongoDB数据库服务的情况下,将数据库文件拷贝到其他分区。拷贝完成后将原MongoDB数据库所在分区进行了格式化操作,然后将数据库文件拷回原分区,重新启动MongoDB服务,服务无法启动。
|
11天前
|
NoSQL MongoDB Redis
Python与NoSQL数据库(MongoDB、Redis等)面试问答
【4月更文挑战第16天】本文探讨了Python与NoSQL数据库(如MongoDB、Redis)在面试中的常见问题,包括连接与操作数据库、错误处理、高级特性和缓存策略。重点介绍了使用`pymongo`和`redis`库进行CRUD操作、异常捕获以及数据一致性管理。通过理解这些问题、易错点及避免策略,并结合代码示例,开发者能在面试中展现其技术实力和实践经验。
139 8
Python与NoSQL数据库(MongoDB、Redis等)面试问答
|
2月前
|
NoSQL 网络协议 MongoDB
Windows公网远程连接MongoDB数据库【无公网IP】
Windows公网远程连接MongoDB数据库【无公网IP】
|
2月前
|
存储 NoSQL 关系型数据库
一篇文章带你搞懂非关系型数据库MongoDB
一篇文章带你搞懂非关系型数据库MongoDB
58 0
|
2月前
|
人工智能 NoSQL MongoDB
|
3月前
|
SQL NoSQL Java
文档型数据库MongoDB
文档型数据库MongoDB