标准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秒