gpt4 book ai didi

c# - 使用 ObjectId.GenerateNewId() 还是离开 MongoDB 来创建一个?

转载 作者:太空狗 更新时间:2023-10-29 18:13:06 26 4
gpt4 key购买 nike

在 C# 中,我可以使用 ObjectId.GenerateNewId() 生成 ObjectId 值。

大多数时候,当我在集合中插入文档时,我不会设置 _id 字段的值。 MongoDB 自动创建 ObjectId 值。

我想问一下,使用 ObjectId.GenerateNewId() 方法手动设置是否安全。

最佳答案

当您插入一个新的 mongodb 文档时,子驱动程序会检查是否存在具有 BsonId AttributeClass 的属性。如果存在且为空,则创建一个新的 ObjectId,如果在文档插入期间不存在,mongodb 将生成一个新的 ObjectId
有时用户会遇到“只有零”的 ObjectId 问题,因此我的建议是结合使用 BsonID 属性类和 ObjectId.GenerateNewId 这样您就可以确定该属性不会有奇怪的行为。
例如

public class SomeClass {

[BsonId]
public ObjectId MySuperId { get; set; }

public SomeClass() {
this.MySuperId = ObjectId.GenerateNewId();
}

}

关于c# - 使用 ObjectId.GenerateNewId() 还是离开 MongoDB 来创建一个?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42349063/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com