Azure cosmosdb 如何在Cosmos DB中选择集合的id?
我是CosmosDB的新手。我创建了一个集合,并在其中添加了一个对象,该对象具有Azure cosmosdb 如何在Cosmos DB中选择集合的id?,azure-cosmosdb,Azure Cosmosdb,我是CosmosDB的新手。我创建了一个集合,并在其中添加了一个对象,该对象具有id字段和一些文本值。我的对象中的id字段被设置为某个随机uuid { "id": "2cdbf85b-43cf-415a-bfec-512c0ce2bf4b", "someTextValue": "my text value", } 现在在数据库中,我看到CosmosDb创建了我的实体,并为它分配了一个id,该id与我在对象中提供的id相同 添加此实体时,我将disableAutomaticId
id
字段和一些文本值。我的对象中的id
字段被设置为某个随机uuid
{
"id": "2cdbf85b-43cf-415a-bfec-512c0ce2bf4b",
"someTextValue": "my text value",
}
现在在数据库中,我看到CosmosDb创建了我的实体,并为它分配了一个id
,该id与我在对象中提供的id相同
添加此实体时,我将disableAutomaticIdGeneration
设置为false
client.createDocument(collectionLink, myEntity, null, false)
有人能告诉我为什么数据库实体的
id
保持不变吗?我希望有一个随机生成的id
字段 该id已经随机生成,因为您将disableAutomaticIdGeneration
设置为False
在下图中,第一个id
是文档的id,第二个/id
是分区键值
由于您将分区键设置为/id
,因此id值“2cdb….”
是此文档的分区键值
我要说的是,如果您将分区键设置为例如/name
,那么您在数据浏览器中显示的文档将如下所示:
这是否意味着我们在最后一张图片的左上角看到的数据库中整个实体的
id
,在这种情况下,2
,始终等于对象(上中红色框)中的id@Vitalii是,这就是这个文档的id。它在这个集合中是唯一的。@Vitalii是否与您的要求有冲突?因为这是cosmos db的正常功能。我试图了解我的对象中的id
是否总是与CosmosDB添加到此实体中的id相同。也许是同一个物体。我需要稍后按id进行搜索,我想知道是从我的对象中按id搜索,还是从中按id搜索Cosmos@Vitalii也许我得到了你的关注,你担心你创建的对象id和cosmos db data explorer中显示的id是否完全不同,对吗?答案是否定的!没有两个类型id,只有一个。它们完全是一回事。如果您查询id“2”,它正好指我在答案中粘贴的文档。这是整个集合中此文档的唯一id。希望我在这一点上清楚。