Geo*_*tor 4 nosql azure-cosmosdb
看起来ARRAY_CONTAINS嵌套文档上的函数永远不会匹配任何文档.
例如,使用Azure DocumentDB Query Playground尝试以下简单查询将不返回任何结果,即使某些嵌套文档应与此查询匹配.
SELECT *
FROM food
WHERE ARRAY_CONTAINS(food.tags.name, "blueberries")
Run Code Online (Sandbox Code Playgroud)
Stack Overflow上的这个过去的问题也暗示这种嵌套查询是有效的.
谢谢
ARRAY_CONTAINS的第一个参数必须是数组.例如,在这种情况下,food.tags作为参数有效,但food.tags.name不是.
以下DocumentDB查询都是有效的,可能正是您要查找的内容:
SELECT food
FROM food
JOIN tag IN food.tags
WHERE tag.name = "blueberries"
Run Code Online (Sandbox Code Playgroud)
要么
SELECT food
FROM food
WHERE ARRAY_CONTAINS(food.tags, { name: "blueberries" })
Run Code Online (Sandbox Code Playgroud)