当前位置: 首页 > 知识库问答 >
问题:

通过id从cosmosdb获取文档(不知道_rid)

林烨烨
2023-03-14

正如MS Support最近告诉我的那样,使用“GET”在RU的使用中比sql查询更有效。我想知道我是否可以(在azure.cosmospython包中或对REST API的自定义HTTP请求中)通过其唯一的“id”字段(我为其生成了GUID)获取文档,而无需SQL查询。

显示的每个示例都使用文档的链接/路径,该链接/路径是使用文档的“_rid”元数据构建的,而不是在创建文档时设置的“id”字段。

我使用自己编写的bulk upsert存储过程来创建新文档,并且从不检索每个文档的元数据(我有大约1亿个文档),因此检索_rid相当于检索文档本身。

共有1个答案

万俟玉书
2023-03-14

ReadDocument方法比SQL查询高效得多的原因是它使用_rid而不是用户生成的字段,甚至是所需的id字段。这是因为_rid不仅仅是一个唯一值,它还编码有关文档物理存储位置的信息。

举一个例子来说明这是如何工作的,假设你正在向某人解释这个周末聚会的地点。你可以使用房子的名字“我的朋友瑞安的房子”,或者你可以使用地址“123 ThatOne Street某处,WA 11111”。它们都是唯一的标识符,但对于试图到达目的地的人来说,一个比另一个更有效。

告诉某人去朋友家就像使用自己的id。它确实映射到了一个特定的房子,但这个人仍然需要找到它的实际位置才能到达那里。使用地址类似于使用<code>_rid</code>字段。仅根据这些信息,他们就可以到达聚会地点。当然,在现实世界中,人们可能需要指示,但数据库中的数据存储比大多数城市街道组织得多,因此地址足以检索文档。

如果您想利用这种方法,您需要找到一种使用_rid字段的方法。

 类似资料:
  • 问题内容: 我在Elasticsearch 1.2.0(最近从1.0.1升级)上看到了带有ID的怪异行为。 搜索检索我的文档,显示_id的正确值: [终奌站] 结果是 但是,直接在id上查找不是: [terminal] 结果是 看来这是在以前使用自定义脚本进行更新的文档上。 有任何想法吗? 问题答案: 我认为您应该升级到1.2.1。由于发行说明(http://www.elasticsearch.o

  • 我的firestore数据库中有两个集合,第一个是所有文档的列表(区块列表),第二个是用户的集合。当用户在应用程序上为帖子添加书签时,只将此帖子的id发送到子收藏(收藏夹)。 那么,如何根据第一个集合的ID显示该子集合的文档呢。 我使用此代码访问子集合ID列表,但我想知道如何使用它从主集合(区块列表)中获取适合此ID的文档。

  • 正如我从“云火数据模型”指南中得到的,“每个文档都由一个名称标识。”是否可以通过该文档标识符(即名称或ID)查询集合? 例如,集合“Things”中的文档具有IDs、1、2等。: 是否可以查询 ID 小于 100 的文档?

  • 我在Azure cosmosDB中有一个集合,我在其中启用了无默认值的生存时间(TTL)功能。 根据我将在此问题中提到的文档,一切似乎都非常清楚,但仍然缺少一些东西,因为5天后我仍然可以看到TTL为300秒的文档。 符合文件要求: Azure Cosmos DB将在这段时间后自动删除这些项目,因为它们是最后一次修改的。生存时间值以秒为单位进行配置。当您配置TTL时,系统将根据TTL值自动删除过期的

  • 在我们仔细处理之后。我仍然无法获取自动生成的文档ID。没有“then”选项。我的代码: 创建后如何获取ID?

  • 问题内容: 我想取一个并将其附加到资源ID中,以便能够获得与游戏中该编号卡座相对应的图像。使用其他设备上的路径很容易,但是使用资源ID时,我不确定该怎么做。 这是我现在所拥有的: 在我的Blackberry版本中,我简单地拥有: 有没有办法在Android上使用资源ID来完成类似的工作? 问题答案: 使用您的(例如),但请缓存的结果,如果你会不止一次地使用它。在上实现。 例如: 将返回的值,其中是