MongoDB教程
第五章 MongoDB连接数据库
#### 启动 MongoDB服务 只需要在MongoDB安装目录的bin目录下执行'mongod'即可。 执行启动操作后,mongodb在输出一些必要信息后不会输出任何信息,之后就等待连接的建立,当连接被建立后,就会开始打印日志信息。 #### 通过shell连接MongoDB服务 - 语法: ```shell mongodb://[username:password@]host1[:port1][,host2[:port2],...[,hostN[:portN]]][/[database][?options]] ``` - 参数: mongodb:// 这是固定的格式,必须要指定。 username:password@ 可选项,如果设置,在连接数据库服务器之后,驱动都会尝试登录这个数据库 host1 必须的指定至少一个host, host1 是这个URI唯一要填写的。它指定了要连接服务器的地址。如果要连接复制集,请指定多个主机地址。 portX 可选的指定端口,如果不填,默认为27017 /database 如果指定username:password@,连接并验证登录指定数据库。若不指定,默认打开 test 数据库。 ?options 是连接选项。如果不使用/database,则前面需要加上/。所有连接选项都是键值对name=value,键值对之间通过&或;(分号)隔开 - 选项options - **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命令中。 - **journal=true|false:**如果设置wie true, 同步到 journal (在提交到数据库前写入到实体中). 应用于 safe=true - **connectTimeoutMS=ms:**可以打开连接的时间。 - **socketTimeoutMS=ms:**发送和接受sockets的时间。 - 实例 ```shell ##通过 shell 连接 MongoDB 服务: $ ./mongo ##使用默认端口来连接 MongoDB 的服务 mongodb://localhost ##安全模式连接到localhost: mongodb://localhost/?safe=true ##以安全模式连接到 replica set,并且等待至少两个复制服务器成功写入,超时时间设置为 2 秒: mongodb://host1,host2,host3/?safe=true;w=2;wtimeoutMS=2000 ##使用用户 admin 使用密码 123456 连接到本地的 MongoDB 服务上 mongodb://admin:123456@localhost/ ##使用用户名和密码连接登录到指定数据库,格式如下: mongodb://admin:123456@localhost/test mongodb://admin:123456@localhost/w3cschool ##接到一个 replica pair,一台服务器在 c.example1.net,另一台在 www.example1.net: mongodb://c.example1.net:27017,www.example1.net:27017 ##连接到本机的一个 replica set,端口分别为 27017、27018、27019: mongodb://localhost,localhost:27018,localhost:27019 ##连接 replica set 中的三台服务器, 写入操作应用在主服务器 并且分布查询到从服务器: mongodb://host1,host2,host3/?slaveOk=true ##直接连接第一个服务器,无论该服务器是否为 replica set 的一部分,也无论它是主服务器还是从服务器: mongodb://host1,host2,host3/?connect=direct;slaveOk=true ```
顶部
收展
底部
[TOC]
目录
第一章 NoSQL和MongoDB简介
第二章 MongoDB安装
第三章 MongoDB概念
第四章 MongoDB数据类型
第五章 MongoDB连接数据库
第六章 MongoDB数据库增删查
第七章 MongoDB集合增删查
第八章 MongoDB文档增删查改
第九章 MongoDB查询构造器
第十章 MongoDB备份与恢复
第十一章 MongoDB复制(副本集)
第十一章 MongoDB分片
第十一章 MongoDB监控
第十二章 MongoDB索引
相关推荐
MongoDB进阶
PHP操作MongoDB
MongoDB用户及安全
MongoDB优化