最终用户的 Cosmos DB 简单 ID 字段

Posted

技术标签:

【中文标题】最终用户的 Cosmos DB 简单 ID 字段【英文标题】:Cosmos DB simple ID field for end user 【发布时间】:2021-12-22 14:01:48 【问题描述】:

是否可以在 cosmos db 文档中包含用户友好的 ID 字段?这不需要覆盖添加文档时生成的默认 id 字段,但可以是最终用户易于了解和搜索的自定义字段。

示例文档,ref 字段是我想要生成的一个简单的人类可读标识符。


    "id": "57275754475457-5445444-44420478",
    "ref": "45H7GI",
    "userId": "48412",
    "whenCreated": "D2021-11-09T21:56:31.630",
    "tenantId": "5566HH"

我正在考虑构建一个票务系统,并希望有一个简单的 ID 字段供用户发送,并且在更新/搜索时可以参考。

对此的任何帮助将不胜感激。

【问题讨论】:

请编辑您的问题,可能使用示例文档以及相关代码。不清楚您所说的“简单 ID 字段”是什么意思 - 请对此进行扩展。 添加了 ref 字段的示例文档显示为每个文档需要唯一的简单标识符示例 【参考方案1】:

出于您自己的目的,您可以选择使用id(保证在分区内是唯一的)或您自己的属性(例如您在示例中定义的ref)。对于id 以外的任何属性,您需要在创建容器时添加唯一键约束(此时,ref 在任何分区中都是唯一的,就像id)。

无论您将自定义 ID 存储在 id 还是 ref 中,这都是您的选择。请注意,如果您想要直接读取(而不是查询),您只能直接读取 id,而不是其他任何属性。

【讨论】:

以上是关于最终用户的 Cosmos DB 简单 ID 字段的主要内容,如果未能解决你的问题,请参考以下文章

可空字段上的 Cosmos DB IQueryable

我可以将 Alteryx 连接到 Cosmos DB

如何获取 cosmos db 容器中所有文档的所有字段名称 [关闭]

Cosmos DB 补丁子对象

Cosmos DB - ExecuteNextAsync 返回空对象

此 SQL 的 Cosmos DB 等效项