MongoDB实战经验

来源:互联网 发布:node什么意思 编辑:程序博客网 时间:2024/05/16 08:36

1. 把mongod添加到windows开机启动中

> mongod --dbpath d:/data/mongodb/ --logpath d:/data/mongodb/mylog/mongodb.log --replSet repset --serviceName "MongoDB" --install > net start MongoDB详细说明-----------------------------------------------------------------------------dbpath d:/data/mongodb/          //指定数据库将来存放的路径--logpath d:/data/mongodb/log/mongo.log  //指定mongod运行时日志文件--replSet repset               //给副本集取名,这里取名repset--serviceName "MongoDB"           //设置windows开机启动后显示的服务名--install                   //把"MongoDB"服务添加到开机启动项中

2. 初始化副本集并设置关联

> mongo> use admin> config = { _id:"repset", members:[... {_id:0,host:"192.168.1.136:27017"},... {_id:1,host:"192.168.1.137:27017"},... {_id:2,host:"192.168.1.138:27017"}]... }> rs.initiate(config);> rs.status();

3. 测试副本集是否正常工作

> mongo 127.0.0.1> use test;> db.testdb.insert({"test1":"testval1"})> mongo 192.168.1.136:27017> db.getMongo().setSlaveOk()> use test> show tables 或者  db.testdb.find();说明:  这一步可以省略,直接用mongo图形化可视化客户端工具进行查看数据。推荐客户端Robomongo 0.9.0-RC10

4、使用mongodb配置文件(推荐Linux下)

> mongod -f conf/mongod.conf#mongod.confbind_ip=10.101.72.49 //设置了之后,本地127.0.0.1就不能访问了port=27017  dbpath=/opt/mongo-3.2.9/data  logpath=/opt/mongo-3.2.9/log/mongodb.log fork=truenojournal=true replSet=repset

5、设置账户密码

  • 必须先设立管理员账户密码,官网有比较详细的资料
  • 添加账号密码的时候,root账号可以打开集合,admin不可以打开集合
> use admin> db.createUser({user:"admin",pwd:"password",roles:["root"]})
> use proxy_manager> db.createUser(  {    user: "wuxian",    pwd: "password",    roles: [ { role: "readWrite", db: "proxy_manager" } ]  })

image

附录1:让当前运行的MongoDB服务停止

>   sc delete MongoDB

附录2:添加节点和删除节点

在副本集的master下,一条一条的把slave从副本集中删除。

> rs.add("192.168.1.136:27017")      //添加> rs.remove("192.168.1.136:27017")   //删除> config = { _id:"repset", members:[{_id:0,host:"192.168.1.136:27017"}]}

附录3:以管理员权限打开终端(win)

在windows下,建议以管理员的方式启动终端。否则,执行mongo命令可能会失败。

参考资料

mongodb3.4 安装及用户名密码设置 *靠谱

Robomongo需要mongo认证的解决方法

mongodb用户权限修改,删除以及robomongo显示问题

mgo

labix.org

golang的mongodb操作(mgo)*

mgo查询指定字段

mongodb 只查询一个字段

在golang中使用mgo多条件查询

mgo使用指南 *

MongoDB各种查询操作详解 *

学习MongoDB–(4-2):MongoDB查询(数组、内嵌文档和$where)

mongo-查询(5)——查询数组

mongodb怎么查询数组中的值?

(聚合)谈谈一些关于mgo的用法