在C#中,我可以使用ObjectId.GenerateNewId()来生成ObjectId值.
大多数情况下,当我在集合中插入文档时,我没有设置_id字段的值.MongoDB自动创建ObjectId值.
我想问一下,使用ObjectId.GenerateNewId()方法手动设置它是否安全.
Tin*_*wor 18
当您插入新的mongodb文档时,子驱动程序检查是否存在具有BsonIdAttributeClass的属性.如果存在且为null,则创建一个新的ObjectId,如果在文档插入期间不存在,mongodb将生成新的ObjectId.
有时用户遇到"只有零"ObjectId的问题,因此我的建议是使用BsonID属性类的组合,ObjectId.GenerateNewId因此你确定该属性不会有奇怪的行为.
例如
public class SomeClass {
[BsonId]
public ObjectId MySuperId { get; set; }
public SomeClass() {
this.MySuperId = ObjectId.GenerateNewId();
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
11797 次 |
| 最近记录: |