MongoDB SetDefaultValue不起作用-原因
本文关键字:原因 不起作用 SetDefaultValue MongoDB | 更新日期: 2023-09-27 18:30:04
我使用的是C#和mongodb官方驱动程序。使用BsonClassMap类映射实体时遇到问题。以下是一些示例代码:
BsonClassMap.RegisterClassMap<Article>(cm =>
{
cm.AutoMap();
cm.GetMemberMap(c => c.Title).SetElementName("title").SetDefaultValue("abc");
}
当我把它保存到db时,我总是在title字段中得到一个null值,而不是预期的"abc"。我尝试过枚举类型,但也遇到了同样的问题——哪里出了问题?
如果正在反序列化的文档没有字段或属性的值,则在反序列化过程中使用默认值为该字段或属性赋值。
如果在内存中为Title属性创建了一个具有null值的对象,那么null将存储在数据库中。仅仅因为Title为null并不意味着在保存文档时它将被替换为默认值。