云开发demo里面的代码居然运行不出想要的结果:https://developers.weixin.qq.com/miniprogram/dev/wxcloud/reference-sdk-api/database/command/Command.elemMatch.html
{
"_id": "a0",
"city": "x0",
"places": [{
"type": "garden",
"area": 300,
"age": 1
}, {
"type": "theatre",
"area": 50,
"age": 15
}]
}
查询语句:
const _ = db.command
db.collection('todos').where({
places: _.elemMatch({
area: _.gt(100),
age: _.lt(2),
})
})
.get()
查询出的结果是全部记录!
开发工具基础库版本是:2.15.0
请问是什么原因?
用aggregate先unwind,再match
我意思是查询条件没生效,返回的全部记录条数。看图。
不用看,我知道你说什么。你理解错这个用法了,你想places展示一条,应该用聚合过滤,而不是where