NodeJS-MongoDB基操


聚合查询

project()

获取的数据中排除掉某一项,值为1存在,为0则排除

1
2
// 该查找结果中,不包含`_id`属性
find(queryObj).project({_id})
limit()

返回结果集中的前n个文档

1
2
// 返回结果集中的前3个文档
find(queryObj).limit(3)
skip()

丢弃结果集中的前n个文档

1
2
// 丢弃结果集中的前3个文档
find(queryObj).skip(3)
sort()

对结果指定按某一字段排序,1为升序,-1为降序

1
2
// 按照creatTime字段降序排列
find(queryObj).sort({creatTime: -1})

模糊查询

使用正则表达式构建查询参数

1
2
3
4
db.collection(集合名).find({
title: new RegExp(query.title), // 模糊查询
abbr: query.abbr // 精确查询
})

查询数组内普通字段

对于数据库中的如下字段

1
2
3
4
5
{
"categories": [
"js"
]
}

简单使用正常方式来查询即可

1
db.collection(集合名).find({categories: 'js'})

查询数组内对象字段

对于数据库中的如下字段

1
2
3
4
5
6
7
{
"categories": [
{
"abbr": "js"
}
]
}

通过如下方式来查询

1
db.collection(集合名).find({'categories.abbr': 'js'})