在Cosmos DB中插入新对象时能否指定自定义ID?
Cosmos DB插入新对象时指定自定义ID的方法
当然支持指定自定义ID。Cosmos DB要求每个文档都要有一个id字段(注意是小写的id),你只需要在插入前给要保存的session对象设置好这个字段的自定义值,调用create方法时就会使用你指定的ID,而不是让系统自动生成。
修改你的代码示例如下:
// 给session设置自定义ID session.id = "user-session-001"; // 替换成你需要的自定义ID值 this.container.items .create<Session>(session) .then(() => callback(null)) .catch((error) => callback(error));
还有两个需要注意的点:
- 自定义ID不能包含
/ \ ? #这些特殊字符,且长度不能超过255个字符 - 如果指定的ID在当前容器中已经存在,调用
create会返回HTTP 409冲突错误;如果想覆盖已存在的文档,可以把create换成upsert方法。
内容的提问来源于stack exchange,提问作者Rodrigo
相关产品推荐
相关产品推荐

