Couchbase N1QL检查数组是否包含id

Couchbase N1QL检查数组是否包含id,couchbase,n1ql,Couchbase,N1ql,我有一份文件叫 player::id 为每个玩家。其中id是玩家的id(自动递增) 如何在下面的数组上运行搜索操作,例如检查id或计数?此数组存储在玩家的保存文档中 "inventory": { "0": { "count": 1, "id": 6 }, "1": { "count": 1, "id": 13 }, "2": { "count": 1, "id": 142 }

我有一份文件叫

player::id
为每个玩家。其中id是玩家的id(自动递增)

如何在下面的数组上运行搜索操作,例如检查id或计数?此数组存储在玩家的保存文档中

"inventory": {
    "0": {
      "count": 1,
      "id": 6
    },
    "1": {
      "count": 1,
      "id": 13
    },
    "2": {
      "count": 1,
      "id": 142
    },
    "3": {
      "count": 1,
      "id": 144
    }
},


您发布的对象中没有数组

如果希望搜索id 13出现在文档中并获得相应的计数,可以使用OBJECT_PAIRS()函数将动态对象转换为所述数组

SELECT op.val.id, op.val.count, op.name AS pos
FROM default AS d
UNNEST OBJECT_PAIRS(d.inventory) AS op
WHERE op.val.id = 13
SELECT d.*
FROM default AS d
WHERE ANY op IN OBJECT_PAIRS(d.inventory) SATISFIES op.val.id = 13 END;