0%

MongoDB基础实践

边用边总结

基本操作

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
security.authorization : enabled
  • 创建管理员用户

    1
    2
    3
    4
    use admin
    db.createUser({ user: "admin", pwd: "passwd", roles: [{ role: "userAdminAnyDatabase", db: "admin" }] })
    db.auth("admin", "adminPassword?")
    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
db.enableFreeMonitoring()
db.disableFreeMonitoring()

查询操作

1
2
3
4
5
6
show dbs;
db.getCollectionNames(); #show collections;
help

删除数据库
db.dropDatabase()

查询范例

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"} )
  • 如果希望使用其他语言,需要在创建索引时指定要使用的语言。默认是支持英文的。

mongdb客户端工具

相关资料

-------------End of article. I appreciate whoever read and leave commends on articles.-------------

本文标题:MongoDB基础实践

文章作者:冷月无声

发布时间:2019年06月30日 - 18:06

最后更新:2019年12月01日 - 21:12

原始链接:https://www.lengyuewusheng.com/mongodb%E5%9F%BA%E7%A1%80%E5%AE%9E%E8%B7%B5.html

许可协议:本博客所有文章除特别声明外,均采用 BY-NC-SA 3.0许可协议。转载请注明出处!