我有一个具有 DateUpdated DateTime 属性的模型。
在我更新该模型之前,我的模型信息是
更新我的模型信息后
为什么 MongoDB 存储错误的 DateUpdated 值?我使用调试器尝试了几次,看起来每次该值都发生更改,但日期时间错误。
我使用 C# 驱动程序。
我的更新功能是
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; }
最佳答案
MongoDB 以 UTC 格式存储日期时间值。您看到的是本地时间到 UTC 的转换。
处理时区的最佳方法是将所有数据保存为 UTC 格式(包括数据模型中的数据,而不仅仅是数据库中的数据),并且仅在向用户显示值时才转换为本地时间。
关于mongodb - 为什么更新 MongoDB 中的 DateTime 会得到错误的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12350418/