Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/pandas/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Azure cosmosdb 使用Cosmos DB如何仅查询分区键_Azure Cosmosdb_Partitioning - Fatal编程技术网

Azure cosmosdb 使用Cosmos DB如何仅查询分区键

Azure cosmosdb 使用Cosmos DB如何仅查询分区键,azure-cosmosdb,partitioning,Azure Cosmosdb,Partitioning,我们有一组相关文档,它们共享同一个分区密钥。其思想是简单地将它们分组,应该是查询分区键并将它们缝合在一起。我错过了什么 所以 选择*from c,其中c.CustomerId=“500” 将返回3个文档、地址、销售和发票,它们都有一个名为CustomerId的属性,值为500 我知道它不是主键,我故意省略了行键 也许不拆分文档是答案,但是不同的文档具有不同的TTL,这将成为一个问题,不是吗( CustomerId是分区键 微软的文档说这是可能的(引用一个city=settle的例子) 那么,我遗

我们有一组相关文档,它们共享同一个分区密钥。其思想是简单地将它们分组,应该是查询分区键并将它们缝合在一起。我错过了什么

所以 选择*from c,其中c.CustomerId=“500”

将返回3个文档、地址、销售和发票,它们都有一个名为CustomerId的属性,值为500

我知道它不是主键,我故意省略了行键

也许不拆分文档是答案,但是不同的文档具有不同的TTL,这将成为一个问题,不是吗(

CustomerId是分区键

微软的文档说这是可能的(引用一个city=settle的例子)

那么,我遗漏了什么,对查询的一个完全误解是cosmos?(我可以说我知道一个分区键用于将相关数据拆分为分区)我不知道这使它成为一个不可查询的方面

我还可以用分区键和行键进行查询,没有问题

编辑2:

这项工作:

从c中选择*,其中c.CustomerId>“499”和c.CustomerId<“501”

确定

因此,范围查询工作有点超前。 集合上的自定义索引导致了问题。
目前,我已经完全删除了自定义索引,并将建立备份,然后发布更具体的答案

我读到的是PartitionKey是隐式索引的,这上面也有一个索引,所以这可能会引起一些有趣的事情


也许我一点也不了解,但你必须明确你所寻找的价值,我认为这是不一样的:

c、 CustomerId=“500”

VS

c、 客户ID=500

因为一个查找文本,另一个查找数字,请查看数据的存储方式,如果要使用该值执行查询,则必须相同(请记住CustomerId是分区键)