gpt4 book ai didi

c# - Mongo C# 驱动程序和 ObjectID JSON 字符串格式

转载 作者:IT老高 更新时间:2023-10-28 13:27:45 27 4
gpt4 key购买 nike

是否可以强制 JsonWriterSettingsObjectID 输出为

{ "id" : "522100a417b86c8254fd4a06" }

而不是

{ "_id" : { "$oid" : "522100a417b86c8254fd4a06" }

我知道我可以编写自己的解析器,但为了代码维护,我想设法覆盖 Mongo JsonWriterSettings

如果可能,我应该覆盖哪些类/接口(interface)?

最佳答案

如果您可以使用 MongoDB C# 属性或 Mapper,那么您可以执行以下操作:

public class Order {
[BsonId]
[BsonRepresentation(BsonType.ObjectId)]
public string Id { get; set; }
}

这样,你可以正常将类型引用为字符串(包括序列化),但是当MongoDB对其进行序列化等时,它在内部被视为一个ObjectId。这里使用了类映射技术:

BsonClassMap.RegisterClassMap<Order>(cm => {
cm.AutoMap();
cm.SetIdMember(cm.GetMemberMap(c => c.Id);
cm.GetMemberMap(c => c.Id)
.SetRepresentation(BsonType.ObjectId);
});

关于c# - Mongo C# 驱动程序和 ObjectID JSON 字符串格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18597438/

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