MongoDB使用技巧Tips

这是一篇日常使用MongoDB时候遇到的问题的解决技巧的文章。

查找数组字段不为空的记录

查找数据中数组字段不为空的记录。

举个例子:有以下Mongo文档,

{
    "id" : "581c060f2b436c05aafb1632",
    "commit_history" : [ 
        "581c20d52b436c05aafb1633", 
        "581c21c12b436c05aafb1634"
    ]
},
{
    "id" : "581c060f2b436c05aafb1633",
    "commit_history" : []
}

想要查找commit_history不为空的记录,有以下方法:

方法一: db.collection.find({commit_history: {$not: {$size: 0}}})

方法二: db.collection.find({'commit_history.0': {$exists: 1}})

MongoDB添加用户

在MongoDB中为一个Collection添加用户,可以如下操作:

use collection_name 切换到某个库

1
2
3
4
5
6
7
8
db.createUser(
{
user: "collection_name",
pwd: "password",
roles: [ "readWrite", "dbAdmin" ]
}
)