嵌套文档上的 Azure DocumentDB ARRAY_CONTAINS

Azure DocumentDB ARRAY_CONTAINS on nested documents

嵌套文档的 ARRAY_CONTAINS 函数似乎从未匹配任何文档。

例如,使用 Azure DocumentDB Query Playground 尝试以下简单查询将 return 没有结果,即使某些嵌套文档应与此查询匹配。

SELECT *
FROM food
WHERE ARRAY_CONTAINS(food.tags.name, "blueberries")

Stack Overflow 上的这个过去 也推断出这种嵌套查询是有效的。

谢谢

ARRAY_CONTAINS 的第一个参数必须是数组。例如,在这种情况下 food.tags 作为参数是有效的,但 food.tags.name 不是。

以下两个 DocumentDB 查询均有效,可能正是您要查找的内容:

SELECT food
FROM food
JOIN tag IN food.tags
WHERE tag.name = "blueberries"

SELECT food
FROM food
WHERE ARRAY_CONTAINS(food.tags, { name: "blueberries" })