zoukankan      html  css  js  c++  java
  • [转载]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|falsetrue: 驱动程序会在提交每次更新操作后执行getLastError命令以确认更新是有效的(参见w和wtimeoutMS)
     false:驱动程序在每次更新操作后不会执行getLastError
    w=n
     驱动在getLastError命令加上{ w : n } 参数。意味着safe=true
    wtimeoutMS=ms
     驱动在getLastError命令加上{ wtimeout : ms }参数。意味着safe=true.
    fsync=true|falsetrue: 驱动在getLastError命令加上{ fsync : true } 参数。意味着safe=true.
     false: 驱动不在getlasterror 命令加fsync参数。
    journal=true|falsetrue: 同步到 journal. 意味着safe=true.
    connectTimeoutMS=ms
     设置建立连接超时,单位ms
    socketTimeoutMS=ms
     设置socket发送或接受超时时间,单位ms
    
    这些选项都是大小写不敏感的。
    
    连接MongoDB(默认连接到localhost:27017)
    
    mongodb://localhost
    使用用户fred和密码foobar连接
    
    mongodb://fred:foobar@localhost
    使用用户fred和密码foobar连接,指定数据库baz
    
    mongodb://fred:foobar@localhost/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
    使用安全模式连接
    
    mongodb://localhost/?safe=true
    安全模式下连接到一组Replica Sets,等待至少两台机器同步成功,并设置两秒的超时时间
    
    mongodb://host1,host2,host3/?safe=true;w=2;wtimeoutMS=2000
    连接池(Connection Pooling)
    服务器每个TCP连接对应一个进程。强力推荐你在应用程序中实现自身的连接池。多数驱动程序也会在背后悄悄帮你做连接池。一个常见的例外是你的应用会为每个请求重新配置一个新进程譬如CGI和PHP。

    http://www.cnblogs.com/hantianwei/archive/2012/10/15/2725049.html

  • 相关阅读:
    值得推荐的C/C++框架和库
    P2P技术基础: 关于TCP打洞技术
    Java FileInputStream与FileReader的区别
    如何理解java采用Unicode编码
    细说:Unicode, UTF-8, UTF-16, UTF-32, UCS-2, UCS-4
    程序员趣味读物:谈谈Unicode编码
    字符编码笔记:ASCII,Unicode 和 UTF-8
    Java并发编程:volatile关键字解析(转)
    java线程安全问题之静态变量、实例变量、局部变量
    Hystrix使用详解
  • 原文地址:https://www.cnblogs.com/iack/p/3657465.html
Copyright © 2011-2022 走看看