前言
文档信息如下:
一、表达式查询文档
代码如下:
1.小于$lt
2.小于或等于$lte
3.大于$gt
4.大于或等于$gte
5不等于$ne
// 查询年龄大于20小于25的文档
User.find({ age: { $gt: 20, $lt: 25 } }, (err, res) => {
if (err)
return err
console.log(res)
})
执行结果:
[
{
_id: new ObjectId("61dfd7daf71226f3651093ee"),
name: '徐缺',
age: 22,
hobby: [ '装逼' ],
password: 'abcdef',
__v: 0
},
{
_id: new ObjectId("61dfd7daf71226f3651093ed"),
name: '韩立',
age: 24,
hobby: [ '修炼', '炼丹', '炼器', '养灵宠' ],
password: '123456',
__v: 0
}
]
代码如下:
包含$in
User.find({ hobby: { $in: '装逼' } }, (err, res) => {
if (err)
return err
console.log(res)
})
执行结果:
[
{
_id: new ObjectId("61dfd7daf71226f3651093ee"),
name: '徐缺',
age: 22,
hobby: [ '装逼' ],
password: 'abcdef',
__v: 0
}
]
二、指定要包括或排除的文档字段
方法原型:
Query.prototype.select()
Parameters
arg «Object|String|Array<String>»
Returns:
«Query» this
代码如下:
// 想要查询的字段直接填写,不想查询的字段前面要加个负号,多个字段以空格隔开
User.find({ hobby: { $in: '装逼' } }, (err, res) => {
if (err)
return err
console.log(res)
}).select('name age -_id')
执行结果:
[ { name: '徐缺', age: 22 } ]
三、指定要跳过的文档数
方法原型:
Query.prototype.skip()
Parameters
val «Number»
代码如下:
User.find((err, res) => {
if (err)
return err
console.log(res)
}).skip(2)
执行结果:
[
{
_id: new ObjectId("61dfd7daf71226f3651093ef"),
name: '许七安',
age: 20,
hobby: [ '勾栏听曲', '白嫖' ],
password: 'aaaaaa',
__v: 0
}
]
四、指定查询将返回的最大文档数
方法原型:
Query.prototype.limit()
Parameters
val «Number»
代码如下:
User.find((err, res) => {
if (err)
return err
console.log(res)
}).limit(2)
执行结果:
[
{
_id: new ObjectId("61dfd7daf71226f3651093ee"),
name: '徐缺',
age: 22,
hobby: [ '装逼' ],
password: 'abcdef',
__v: 0
},
{
_id: new ObjectId("61dfd7daf71226f3651093ed"),
name: '韩立',
age: 24,
hobby: [ '修炼', '炼丹', '炼器', '养灵宠' ],
password: '123456',
__v: 0
}
]
总结
更多API可以查看mongoose文档请点击这里