MongoDB 连接

标准URL连接

mongodb://[username:[email protected]]host1[:port1][,host2[:port2],...[,hostN[:portN]]][/[database][?options]]
  ·mongodb: //这是固定的格式,必须要指定

  ·username:[email protected]:可选项,如果设置,在连接数据库服务器之后,驱动都会尝试登陆这个数据库;

  ·host1:必须的指定至少一个host,host1是这个URI唯一要填写的。它指定了要连接服务器的地址。如果要连接复制集,请指定多个主机地址。

  ·portX:可选的指定端口,如果不填,默认为27017

  ·/database: 如果指定username:[email protected],连接并验证登陆指定数据库。若不指定,默认打开 test 数据库。

  ·?options:是连接选项。如果不使用/databae,则前面需要加上/。所有连接选项都是键值对name=value,键值对之间通过&或;隔开

标准的连接格式包含了多个选项(options),如下所示:


实例

   使用默认端口来连接MongoDB的服务

mongodb://localhost

   通过 shell 连接 MongoDB 服务:

$ ./mongo
MongoDB shell version: 3.0.6
connecting to: test
... 
  这时候你返回查看运行 ./mongod 命令的窗口,可以看到是从哪里连接到MongoDB的服务器,您可以看到如下信息:

……省略信息……
2015-09-25T17:22:27.336+0800 I CONTROL  [initandlisten] allocator: tcmalloc
2015-09-25T17:22:27.336+0800 I CONTROL  [initandlisten] options: { storage: { dbPath: "/data/db" } }
2015-09-25T17:22:27.350+0800 I NETWORK  [initandlisten] waiting for connections on port 27017
2015-09-25T17:22:36.012+0800 I NETWORK  [initandlisten] connection accepted from 127.0.0.1:37310 #1 (1 connection now open)  # 该行表明一个来自本机的连接

……省略信息……


MongoDB 连接命令格式

   使用用户名和密码连接到MongoDB服务器,你必须使用'username:[email protected]/dbname'格式,'username'为用户名,'password'为密码。

   使用用户名和密码连接登陆到默认数据库:

$ ./mongo
MongoDB shell version: 3.0.6
connecting to: test

   使用用户 admin 使用密码 123456 连接到本地的 MongoDB 服务上。输出结果如下所示:

> mongodb://admin:[email protected]/
... 

   使用用户名和密码连接登陆到指定数据库,格式如下:

mongodb://admin:[email protected]/test

连接实例

mongodb://localhost  连接本地数据库服务器,端口是默认的
mongodb://fred:[email protected]  使用用户名fred,密码foobar登录localhost的admin数据库。
mongodb://fred:[email protected]/baz  使用用户名fred,密码foobar登录localhost的baz数据库
mongodb://example1.com:27017,example2.com:27017   连接 replica pair, 服务器1为example1.com服务器2为example2。
mongodb://localhost,localhost:27018,localhost:27019   连接 replica set 三台服务器 (端口 27017, 27018, 和27019)
mongodb://host1,host2,host3/?slaveOk=true    直接连接第一个服务器,无论是replica set一部分或者主服务器或者从服务器
mongodb://localhost/?safe=true   安全模式连接到localhost
mongodb://host1,host2,host3/?safe=true;w=2;wtimeoutMS=2000   安全模式连接到replica set,并且等待至少两个复制服务器成功写入,超时时间设置为2秒