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

标签 azure-cosmosdb nosql

好像是ARRAY_CONTAINS嵌套文档上的函数永远不会匹配任何文档。

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

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

这过去 question在 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" })

关于azure-cosmosdb - 嵌套文档上的 Azure DocumentDB ARRAY_CONTAINS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40683533/

相关文章:

azure-cosmosdb - 插入文档时响应状态码不表示成功

Azure CosmosDB 延续 token 结构

java - 如何删除 Firebase 数据库数组中的项目?

Cassandra:删除带有静态列的最后一条记录

sql - noSQL/SQL/RoR : Trying to build scalable ratings table for the game

azure - 与 Azure Cosmos DB 的 Java 无密码连接的构建问题

Azure DocumentDB 按 ID 查询非常慢

c# - 如何(我应该)模拟 DocumentClient 进行 DocumentDb 单元测试?

mysql - 使用不同的密码加密数据库表中的各个行

node.js - 我应该如何在 mongodb/nosql 中存储数据?