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

Cosmos DB -为什么使用sql api SDK进行点查询时必须提到分区键?

刁文光
2023-03-14

为什么在使用sql api SDK对分区集合进行点查询时必须提到分区键?

有没有办法使用sql api SDK对分区集合执行点查询而不提及“分区键”?因为它是点查询。

工作示例:
// - db_id是数据库的
ID 属性
// - coll_id是文档集合的 ID 属性 // - doc_id是文档希望读取的 ID 属性
doc_id coll_id db_id

非工作示例:var docUri=UriFactory.CreateDocumentUri("db_id","coll_id","doc_id");
等待docClient.ReadDocumentAsync(docUri);

以下没有分区键的查询将失败,并显示错误消息:“必须为此操作提供 PartitionKey 值。

为什么需要提到分区键才能对分区集合进行点查询?

共有1个答案

李泓
2023-03-14

分区密钥是强制性的,当您创建帐户时,您将被要求提供分区密钥。它用于分片,并充当数据的逻辑分区,为Cosmos DB提供了一个自然边界,用于跨分区分发数据。所以它附带了设计。

因此,每当您使用 SDK 从宇宙数据库查询数据时,都必须传递分区密钥

之所以需要ParitionKey,是因为CosmosDB在找到数据之前不会解析查询。

 类似资料:
  • 本文向大家介绍为什么必须使用Twitter进行联网,包括了为什么必须使用Twitter进行联网的使用技巧和注意事项,需要的朋友参考一下 如果我们能够在线开发有价值的业务网络,那真是太棒了? 是的,通过“ Twitter”可以实现–实时通信枢纽成为一个出色的业务网络平台。通过在这种快节奏的环境中改进和实施我们的社交网络技能,Twitter可以用作构建强大的业务网络的起点。 对于Twitter的网络,

  • 问题内容: 即使等待1的linux手册页很好地说明了您需要让子进程不使其变成僵尸,但它根本无法说明原因。 我围绕一个Ever 循环计划了我的程序(这是我的第一个多线程程序,所以请原谅我的天真),该循环启动子进程,该子进程被ed淘汰,并确保自行终止。 我无法使用,因为这使并行计算变得不可能,因此我可能不得不添加一个存储子pid的进程表,并且不得不使用-不是立即执行,而是经过一段时间- 这是一个问题,

  • 问题内容: 当我使用关键字访问类中的非静态变量时,Java不会给出任何错误。但是当我不使用它时,Java会给出一个错误。为什么要使用? 我知道什么时候应该正常使用,但是这个示例与正常用法大不相同。 例: 问题答案: 首先声明变量,然后赋值。该类与此相同: 您无法执行此操作的原因是,在创建对象时尚未定义,但是对象本身(即)及其所有成员变量都存在。 这是每个的说明:

  • 问题内容: 每个人都告诉我“使用super.viewDidLoad()因为它就是这样”或“我一直那样做,所以要保留它”,“如果不叫super就是错误的”等。 我只发现了一些有关Objective-C用例的主题,这些主题并没有那么启发性,但是我正在Swift 3中进行开发,所以有什么专家可以给我一个很好的详细解释吗? 这是一种良好实践的案例还是有任何隐藏的影响? 问题答案: 通常,最好为您覆盖的所有

  • 问题内容: 我希望这个问题不会太笼统。我知道,要在您上进行绘制,您需要重写该方法,并将所有绘制代码​​放入该方法中。我的问题是为什么!为什么Java似乎不允许/提供使用诸如或方法的绘图?在delphi中,一切都变得如此简单。一定有一个原因我无法弄清楚。 问题答案: 那是因为这就是它的工作方式。它是以此方式设计的。但是我想你的问题是关于“为什么” 请记住,Swing大约在15年前问世。批评之一是该A