我有一个带有DateUpdated DateTime属性的模型。
在我更新该模型之前,我的模型信息是
我更新模型信息后
为什么MongoDB存储错误的DateUpdated值?我用调试器尝试了几次,看起来每次改变这个值但是DateTime错误。
我正在使用C#Driver。
我的更新功能是
var query = Query.EQ("_id", p.UserID);
var update = MongoDB.Driver.Builders.Update.Replace(p);
SafeModeResult success = MongoRepository.Profiles().Update(query, update);
SafeModeResult总是成功。
我的DateUpdated Bson属性是
[BsonElement("da")]
[BsonDateTimeOptions(Representation = BsonType.Document)]
public DateTime DateUpdated{ get; set; }
答案 0 :(得分:3)
MongoDB以UTC格式存储DateTime值。您所看到的是将当地时间转换为UTC。
处理时区的最佳方法是将所有数据保存在UTC中(包括数据模型中的数据,而不仅仅是数据库),并且只在您向用户显示值时转换为本地时间。