azure-cosmosdb - documentDb 中没有分区键属性的文档会发生什么情况?

标签 azure-cosmosdb

查看如何使用分区键设置 DocumentDb,如果我有一个 Multi-Tenancy 应用程序,其中大多数文档都有一个tenantId,那么使用/tenantId/的分区键创建集合似乎是合理的。

没有tenantId 属性的文档会发生什么情况?它们会被添加而没有,还是 Cosmos DB 会使用某种系统(硬编码)tenantId 创建这些对象/文档,以便将它们存储在一起?

最佳答案

这些文档会自动为分区键分配“未定义”值(类似于 JavaScript 的未定义)。这被视为任何其他值,并且所有缺少键的文档都存储在同一分区中。如果您有大量这些,那么您将无法扩展,因为丢失键内的所有写入都将分配给同一个分区。

避免这种情况通常是个好主意,或者稍后通过删除/重新插入来解决这个问题(如果缺少分区键是由于在创建时不知道分区键的某种异步性质)。

关于azure-cosmosdb - documentDb 中没有分区键属性的文档会发生什么情况?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46617456/

相关文章:

c# - 如何从 C#.Net 代码创建 Gremlin 图?

azure-cosmosdb - 在文档反序列化时禁用 DateParseHandling

c# - 如何将 20 MB 的消息插入 Azure Cosmos DB - 文档 DB API

azure - CosmosDB 连接(SQL API)

azure - 如何在 Cosmos DB 中的单个存储过程中执行多个操作

azure - 删除 Cosmos DB 容器是否会消耗 RU?

powershell - 使用 PowerShell 获取 Azure DocumentDB 主键

linux - 在模块中找到命令,但无法加载模块

c# - 当您不知道分区键时使用 DocumentClient.ReadDocumentAsync

azure - Cosmos DB 中的文档版本支持。联盟有用吗?