gpt4 book ai didi

azure-cosmosdb - DocumentDb - 查询嵌套文档和根级别

转载 作者:行者123 更新时间:2023-12-01 12:34:21 27 4
gpt4 key购买 nike

提醒我 |编辑 |删除 |更改类型问题您不能对自己的帖子投票0嗨!

假设我有以下方式的文档:

{
id: 123,
tags: [ { name: "something" } ]
}

并且我想查询所有包含名称为“searched”或 id=9000 的标签的文档。我在 playground ( https://www.documentdb.com/sql/demo ) 上测试过类似的东西:

SELECT food.id, food.description, food.tags
FROM food
JOIN tag IN food.tags
WHERE food.id = "09052" or tag.name="blueberries"

但后来我得到了一堆重复的记录,每个来自食物的文档都是该文档中标签数量的倍数。

在对嵌套集合和根属性进行过滤时,如何获得不同的结果?

最佳答案

ARRAY_CONTAINS 内置函数可能是您所需要的。参见 https://msdn.microsoft.com/library/azure/dn782250.aspx#bk_array_functions有关详细信息,即类似这样的内容:

SELECT food.id, food.description, food.tags
FROM food
WHERE food.id = "09052" or ARRAY_CONTAINS(food.tags, { "name": "blueberries" })

您可以在查询平台上测试此查询 here .

请注意,该函数使用索引,因此理想情况下,您应该在查询中有另一个过滤器时使用它。否则,执行此操作的唯一方法是使用您之前的查询,然后在客户端执行“不同”。

关于azure-cosmosdb - DocumentDb - 查询嵌套文档和根级别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31022740/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com