Command.elemMatch(condition: Object|Command): Command
支持端:小程序 2.8.3, 云函数 1.2.1, Web用于数组字段的查询筛选条件,要求数组中包含至少一个满足 elemMatch 给定的所有条件的元素
参数
condition: Object|Command
匹配条件
返回值
Command
示例代码:数组是对象数组的情况
假设集合示例数据如下:
{
"_id": "a0",
"city": "x0",
"places": [{
"type": "garden",
"area": 300,
"age": 1
}, {
"type": "theatre",
"area": 50,
"age": 15
}]
}
找出 places 数组字段中至少同时包含一个满足 “area 大于 100 且 age 小于 2” 的元素
const _ = db.command
db.collection('todos').where({
places: _.elemMatch({
area: _.gt(100),
age: _.lt(2),
})
})
.get()
注意*:如果不使用 elemMatch 而直接如下指定条件,则表示的是 places 数组字段中至少有一个元素的 area 字段大于 100 且 places 数组字段中至少有一个元素的 age 字段小于 2:
const _ = db.command
db.collection('todos').where({
places: {
area: _.gt(100),
age: _.lt(2),
}
})
.get()
示例代码:数组元素都是普通数据类型的情况
假设集合示例数据如下:
{
"_id": "a0",
"scores": [60, 80, 90]
}
找出 scores 数组字段中至少同时包含一个满足 “大于 80 且小于 100” 的元素
const _ = db.command
db.collection('todos').where({
places: _.elemMatch(_.gt(80).lt(100))
})
.get()
Command.size(value: string): Command
支持端:小程序 2.8.3, 云函数 1.2.1, Web更新操作符,用于数组字段的查询筛选条件,要求数组长度为给定值
参数
value: string
返回值
Command
示例
找出 tags 数组字段长度为 2 的所有记录
const _ = db.command
db.collection('todos').where({
places: _.size(2)
})
.get({
success: console.log,
fail: console.error,
})
标签:微信小程序
相关阅读 >>
微信小程序api 实时音视频-livepushercontext实例
更多相关阅读请进入《微信小程序》频道 >>

Vue.js 设计与实现 基于Vue.js 3 深入解析Vue.js 设计细节
本书对 Vue.js 3 技术细节的分析非常可靠,对于需要深入理解 Vue.js 3 的用户会有很大的帮助。——尤雨溪,Vue.js作者