DocumentDB:获取相同实体类型的所有文档

Tho*_*mas 3 azure azure-cosmosdb

我在单个集合中存储了几种不同类型(实体类型?)的文档。什么是获取特定类型的所有文档的最佳方法(就像select *从表中处理那样)。

我到目前为止看到的选项:

  1. 将类型包括为属性。但这意味着在获取文档时会仔细查看每个文档,对吗?
  2. 将类型名称放在文档ID的前面,然后尝试使用进行ID搜索typename*

有一个更好的方法吗?

Dav*_*gon 5

没有内置的实体类型属性,但是您当然可以创建自己的属性,并确保对其进行索引。在这一点上,它与添加WHERE子句一样简单:

WHERE docs.docType = "SomeType"
Run Code Online (Sandbox Code Playgroud)

假设它是一个基于哈希的索引,则应该提供有效的查找并过滤掉不需要的文档类型。

尽管您可以将类型嵌入属性(例如文档ID),但随后必须进行部分字符串匹配,这将不像索引属性比较那样高效。

如果您想知道此查询使您付出了什么,则RU值既显示在门户中,也显示在x-ms-request-charge返回标头中。