边用边总结
基本操作 mongo连接 1 2 3 mongo --host 127.0.0.1 --port 27017 或 mongo "mongodb://127.0.0.1:27017"
升级操作 1 2 use admin db.adminCommand( { setFeatureCompatibilityVersion: "4.0" } )
用户管理 启用用户认证必须修改配置文件/etc/mongod.conf为:并重启服务
1 2 security: authorization : enabled
创建管理员用户
1 2 3 4 use admin db.createUser({ user: "admin", pwd: "passwd", roles: [{ role: "userAdminAnyDatabase", db: "admin" }] }) db.auth("admin", "passwd") db.getUsers()
创建备份用户
1 2 use testdb db.createUser({ user: "backup", pwd: "passwd", roles: [{ role: "backup", db: "admin" }, { role: "restore", db: "admin" }] }) # role中的db必须为admin
查看用户
1 2 3 4 use admin db.system.users.find().pretty() use testdb show users
修改用户密码
1 2 use xxxdb; db.changeUserPassword('username','newpasswd');
开启/关闭监控 1 2 3 db.enableFreeMonitoring() db.disableFreeMonitoring()
查询操作 1 2 3 show dbs; db.getCollectionNames(); #show collections; help
删除数据库
查询范例 1 2 3 4 5 6 db.getCollection('gd_event').aggregate([{$group:{_id:"$eid",count:{$sum:1}}},{ $match:{count:{$gt:1}}}]) 类似sql: select eid as _id,count(eid) as count from gd_event group by eid having count>1 两个条件或运算: db.getCollection('gd_event_log').find({$or:[{"detail":{$regex:"冷月无声"}},{"info":{$regex:"冷月无声"}}]})
mongo查询包含 1 2 db.getCollection('cards').find({title:/scribe/}) db.getCollection('cards').find({title:/导航/})
mongo启用全文索引 1 2 > db.adminCommand( { setParameter : 1, textSearchEnabled : true } ) { "was" : false, "ok" : 1 }
默认是关闭的。否则会报错”err” : “text search not enabled”
索引语言支持 1 db.de.ensureIndex( {txt: "text"}, {default_language: "german"} )
如果希望使用其他语言,需要在创建索引时指定要使用的语言。默认是支持英文的。
修改主从 1 2 3 4 use local db.sources.find() db.sources.remove( { "host": "旧IP:27017"} )
mongdb客户端工具
相关资料