1. 计算数组大小操作符 $size:
// 使用计算数组大小操作符
db.collection('collectionName').aggregate().project({
arraySize: db.command.size('$arrayField')
}).end().then(res => {
console.log(res.list);
});
2. 获取数组第一个元素操作符 $arrayElemAt:
// 使用获取数组第一个元素操作符
db.collection('collectionName').aggregate().project({
firstElement: db.command.arrayElemAt(['$arrayField', 0])
}).end().then(res => {
console.log(res.list);
});
3. 获取数组最后一个元素操作符 $arrayElemAt:
// 使用获取数组最后一个元素操作符
db.collection('collectionName').aggregate().project({
lastElement: db.command.arrayElemAt(['$arrayField', -1])
}).end().then(res => {
console.log(res.list);
});
4. 筛选数组元素操作符 $filter:
// 使用筛选数组元素操作符
db.collection('collectionName').aggregate().project({
filteredArray: db.command.filter({
input: '$arrayField',
as: 'item',
cond: {
$gte: ['$$item', 10]
}
})
}).end().then(res => {
console.log(res.list);
});
5. 数组截取操作符 $slice:
// 使用数组截取操作符
db.collection('collectionName').aggregate().project({
slicedArray: db.command.slice(['$arrayField', 1, 3])
}).end().then(res => {
console.log(res.list);
});
这些数组操作符允许在聚合查询中对数组字段进行灵活的处理。根据实际需求,选择适当的数组操作符进行查询条件的构建。
转载请注明出处:http://www.zyzy.cn/article/detail/5958/微信小程序