| 18 | | == 解决 == |
| | 21 | 附上连接相关的配置:[[BR]] |
| | 22 | '''标准的连接字符串格式''' |
| | 23 | {{{ |
| | 24 | mongodb://[username:password@]host1[:port1][,host2[:port2],...[,hostN[:portN]]][/[database][?options]] |
| | 25 | }}} |
| | 26 | •mongodb:// 必选的前缀,用来标示这是一个标准连接格式的字符串 |
| | 27 | •username:password@ 可选的。如果有,驱动在连接到数据库服务器后会尝试登录到一个数据库。 |
| | 28 | •host1 URL的必选部分。它标示了要连接的服务器地址。 |
| | 29 | •:portX 是可选的。如果没有提供默认连接到:27017. |
| | 30 | •/database 要登录的数据库的名称,只有username:password@语法使用后它才有用。如果没有提供,默认使用“admin”。 |
| | 31 | •?options 是连接的可选项。注意如果database没有提供,在最后一个主机和?符号中间依然需要一个斜杠"/"。可选项是名称=值的配对,他们使用"&"或者";"隔开。 |
| | 32 | |
| | 33 | 很多主机可能需要指定(连接到复制对/组)。 |
| | 34 | |
| | 35 | 这些可选项是: |
| | 36 | |
| | 37 | 复制组: |
| | 38 | •replicaSet=name |
| | 39 | •驱动会检查连接到的复制组和这个名称是否匹配。意味着如果给出的主机是种子列表,驱动会尝试找到复制组内所有成员。 |
| | 40 | |
| | 41 | 单台服务器: |
| | 42 | •slaveOk=true|false |
| | 43 | |
| | 44 | 其他配置: |
| | 45 | •safe=true|false |
| | 46 | •true:驱动在执行更新操作后会发送一个getLastError命令确保更新成功(同时查看一下w和wtimeoutMS)。 |
| | 47 | •false:驱动在每次更新操作后不会发送getLastError命令。 |
| | 48 | |
| | 49 | •w=n |
| | 50 | •驱动在getLastError命令中增加{w:n}。在safe=true的情况下. |
| | 51 | |
| | 52 | •wtimeoutMS=ms |
| | 53 | •驱动在getLastError命令中增加{wtimeout:ms}。在safe=true的情况下. |
| | 54 | |
| | 55 | •fsync=true|false |
| | 56 | •true:驱动在getLastError命令中增加{fsync:true}。在safe=true的情况下. |
| | 57 | •false:驱动不在getLastError命令中增加同步参数。 |
| | 58 | |
| | 59 | •journal=true|false |
| | 60 | •同步到日志文件。在safe=true的情况下. |
| | 61 | |
| | 62 | •connectTimeoutMS=ms |
| | 63 | •一个连接在超时之前可以保持打开的时间。 |
| | 64 | |
| | 65 | •socketTimeoutMS=ms |
| | 66 | •套接字上面的发送和接收操作的超时时间。 |
| | 67 | |