设为首页 收藏本站
查看: 922|回复: 0

[经验分享] mongodb指南(翻译)(五)

[复制链接]
YunVN网友  发表于 2015-7-9 08:33:40 |阅读模式
  Mongodb是一个数据库服务器:它运行在前台或者后台,等待来自用户的连接。当你启动mongodb,你会看到类似于下面的内容:



~/$ ./mongod
#
# some logging output
#
Tue Mar 9 11:15:43 waiting for connections on port 27017
Tue Mar 9 11:15:43 web admin interface listening on port 28017
  此时它会停止打印输出但是并没有冻结,它只是监听在端口27017等待连接。一旦你连接并开始发送命令,它会继续输出所作事情的log。你可以使用任何一个mongodb驱动或者mongo shell去连接到数据库。
  你不能通过在网页浏览器上输入http://localhost:27017来连接到mongodb。数据库不能在端口27017上面使用HTTP访问。
  
  标准的连接字符串格式



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

  • mongodb:// 必选的前缀,用来标示这是一个标准连接格式的字符串
  • username:password@ 可选的。如果有,驱动在连接到数据库服务器后会尝试登录到一个数据库。
  • host1 URL的必选部分。它标示了要连接的服务器地址。
  • :portX 是可选的。如果没有提供默认连接到:27017.
  • /database 要登录的数据库的名称,只有username:password@语法使用后它才有用。如果没有提供,默认使用“admin”。
  • ?options 是连接的可选项。注意如果database没有提供,在最后一个主机和?符号中间依然需要一个斜杠"/"。可选项是名称=值的配对,他们使用"&"或者";"隔开。
  很多主机可能需要指定(连接到复制对/组)。
  这些可选项是:
  复制组:


  • replicaSet=name

    • 驱动会检查连接到的复制组和这个名称是否匹配。意味着如果给出的主机是种子列表,驱动会尝试找到复制组内所有成员。


  单台服务器:


  • 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命令中增加同步参数。


  • journal=true|false

    • 同步到日志文件。意味着fase=true.


  • connectTimeoutMS=ms

    • 一个连接在超时之前可以保持打开的时间。


  • socketTimeoutMS=ms

    • 套接字上面的发送和接收操作的超时时间。


  这些可选项对大小写不敏感。
  一些例子
  连接到运行在本机监听默认端口的数据库服务器:



mongodb://localhost
  使用用户名“fred”和密码“foobar”连接并登陆到管理数据库:



mongodb://fred:foobar@localhost
  使用用户名“fred”和密码“foobar”连接并登陆到“baz”数据库:



mongodb://fred:foobar@localhost/baz
  连接到一个复制配对,其中一台服务器在example1.com另一台服务器在example2.com:



mongodb://example1.com:27017,example2.com:27017
  连接到一个复制组,三台服务器运行在本地(端口为27017,27018,27019):



mongodb://localhost,localhost:27018,localhost:27019
  连接到一个三台服务器组成的复制组,将所有写操作发送给主节点,分发所有读操作到从节点:



mongodb://host1,host2,host3/?slaveOk=true
  使用安全模式连接到本机:



mongodb://localhost/?safe=true
  使用安全模式连接到复制组,等待复制操作至少在2台机器完成,2秒超时:



mongodb://host1,host2,host3/?safe=true;w=2;wtimeoutMS=2000
  
  连接池
服务器会为每一个TCP连接启动一个线程,强烈推荐你的应用程序使用某种类型的连接池。幸运的是,大部分驱动的都为你实现了这个功能。当你的应用程序为每个请求启动一个进程时,驱动会抛出一个重要的异常,比如在CGI和一些PHP的配置中。




  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-84547-1-1.html 上篇帖子: mongodb指南(翻译)(三) 下篇帖子: Ubuntu 14.04 下自动安装mongodb shell 脚本
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表