$或具有文档中数组特定元素的属性

问题描述 投票:0回答:1
{
  "deviceId": "A",
  "users": [
    {
      "id": 1,
      "status": "ac",
      "DELETE": true
    },
    {
      "id": 2,
      "status": "ac"
    },
    {
      "id": 3,
      "status": "ac"
    },
    {
      "id": 4,
      "status": "ac"
    },
    {
      "id": 5,
      "status": "deac"
    },
    {
      "id": 6,
      "status": "ac"
    }
  ]
}

我有一个像top的文档,并且我想按状态值或按DELETE字段存在状态来搜索用户。但是我的代码不起作用。

mongodb flask-pymongo
1个回答
0
投票

使用$elemMatch

db.test.findOne({
  "deviceId": "A",
  "users": {
    "$elemMatch": {
      "id": 1,
      "$or": [
        {
          "DELETE": {
            $exists: true
          }
        },
        {
          "status": "deac"
        }
      ]
    }
  }
})
© www.soinside.com 2019 - 2024. All rights reserved.