azure-cosmosdb – 嵌套文档上的Azure DocumentDB ARRAY_CONTAINS

看起来嵌套文档上的ARRAY_CONTAINS函数永远不会匹配任何文档.

例如,使用Azure DocumentDB Query Playground尝试以下简单查询将不会返回任何结果,即使某些嵌套文档应与此查询匹配.

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

Stack Overflow上的question过去也暗示这种嵌套查询是有效的.

谢谢

解决方法

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" })

相关文章

文章浏览阅读752次。关系型数据库关系型数据库是一个结构化的...
文章浏览阅读687次,点赞2次,收藏5次。商城系统中,抢购和秒...
文章浏览阅读1.4k次。MongoTemplate开发spring-data-mongodb...
文章浏览阅读887次,点赞10次,收藏19次。1.背景介绍1. 背景...
文章浏览阅读819次。MongoDB连接失败记录_edentialmechanisn...
文章浏览阅读470次。mongodb抽取数据到ES,使用ELK内部插件无...