收藏
回答

云开发数组查询问题?

云开发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

请问是什么原因?


回答关注问题邀请回答
收藏

3 个回答

  • 跨商通
    跨商通
    03-29

    用aggregate先unwind,再match

    03-29
    有用
    回复
  • 每一个不曾起舞的日子都是对...
    每一个不曾起舞的日子都是对...
    03-28

    我意思是查询条件没生效,返回的全部记录条数。看图。

    03-28
    有用
    回复
  • Mr.Zhao
    Mr.Zhao
    03-28

    不用看,我知道你说什么。你理解错这个用法了,你想places展示一条,应该用聚合过滤,而不是where

    03-28
    有用
    回复
登录 后发表内容
问题标签