【问题标题】:Query to find DISTINCT between array of objects in Cosmos DB [ SQL API ]查询以查找 Cosmos DB 中对象数组之间的 DISTINCT [SQL API]
【发布时间】:2019-04-17 01:37:49
【问题描述】:

我正在使用带有 SQL API 的 Azure Cosmos DB,我们需要在同一文档中的对象数组之间找到 DISTINCT 值。 我通过以下方式构建了集合

  1. 我有 2 个主要属性 RID 和 RNAME。在第一个集合中,我只有一个文档,其中包含对象数组中的所有 RID 和 RNAME 映射。

“详细信息”:[ { “摆脱”:“1”, “RNAME:”汽车“ }, { “摆脱”:“1”, “RNAME:”汽车“ }]

  1. 在第二个集合中,每个 RID 和 RNAME 映射都有多个文档。

    { “摆脱”:“1”, “RNAME:”汽车“ }

我正在使用存储过程,我需要知道哪一个是使用存储过程获取 RNAME 的 DISTINCT 的好方法。

使用第一个集合,我不确定如何查询以查找数组中对象之间的 DISTINCT RNAME。 使用第二个集合。当我使用 SQL 编辑器时,不同的 Query 可以工作,但不确定如何将其放入存储过程中。

RNAME 的 DISTINCT 值

【问题讨论】:

  • 最终目的地是获取 RNAME 的不同值,对吗?为什么在这个过程中使用 SP?查询 :` select distinct c.RNAME from c` 是否满足您的要求,不是吗?
  • 嗨,Jay,是的,当有多个文档时,distinct 命令有效,但如果所有内容都在一个文档中,则该命令无效。

标签: distinct azure-cosmosdb azure-cosmosdb-sqlapi


【解决方案1】:

1.多个文档

使用sql:

select distinct c.RNAME from c

2.单个文档

使用 sql:

SELECT distinct d.RNAME FROM c
join d in c.Details

【讨论】:

    猜你喜欢
    • 2018-12-17
    • 2019-01-21
    • 2019-01-25
    • 2019-09-26
    • 2018-07-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-18
    相关资源
    最近更新 更多