我正在寻找一种方法来查找有序N1QL查询的第一个文档的位置(给定诸如userId="user123"
之类的条件,所以类似这样:
SELECT ARRAY_POSITION(allPoints, "user123")
LET allPoints = (SELECT userId from stuff WHERE ... ORDER BY points DESC, userId ASC)
但是,它不起作用,因为子查询“ allPoints”返回了一个 objects 数组(每个对象只有一个属性为“ userId”)
答案 0 :(得分:0)
发布2分钟后得到解决方案:)
我离我很近,它是这样的:
SELECT ARRAY_POSITION(allPoints, {"userId":"user123"})
LET allPoints = (SELECT userId from stuff WHERE ... ORDER BY points DESC, userId ASC)
答案 1 :(得分:0)
当lang 10.0和lat 20.1(WHEN子句可以具有任何类型的条件)时,您还可以使用以下表达式在点数组中查找位置
(FIRST pos FOR pos:v IN points WHEN v.lang = 10.0 AND v.lat = 20.1 END)