【问题标题】:Generating _id for MongoDb为 MongoDb 生成 _id
【发布时间】:2020-03-04 13:45:32
【问题描述】:

我们正在使用 MongoDB C#.NET 驱动程序插入如下条目:

var JSON = "{ 'UserName': '" + "Roy" + "', 'PasswordHash' : '" + "123" + "' }";

            var document = BsonSerializer.Deserialize<BsonDocument>(JSON);

            await collection.InsertOneAsync(document);

在 MongoDb 中,它与

_id:ObjectId("5e54f9ea045dba534831a1a2")

在检索并尝试转换为 json 时会出现问题。 如何从 C# 代码本身设置 _id?

【问题讨论】:

标签: c# mongodb mongodb-.net-driver


【解决方案1】:

_id 始终在客户端生成 - 当您运行 .Insert().Save() 时,驱动程序会在后台执行此操作。您可以通过运行手动执行此操作:

document["_id"] = ObjectId.GenerateNewId().ToString();

【讨论】:

  • 我试过了,但插入了以下内容:_id:ObjectId("5e60abdd89b5880a48464df0") 我们只希望 _id:"5e60abdd89b5880a48464df0" 进入 MongoDb。
  • 我的解决方案是:document["_id"] = ObjectId.GenerateNewId().ToString();如果你能把它作为答案,我会把它标记为答案。
猜你喜欢
  • 1970-01-01
  • 2015-09-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-01-19
  • 1970-01-01
  • 2015-01-02
相关资源
最近更新 更多