2

DateUpdated DateTime プロパティを持つモデルが 1 つあります。

そのモデルを更新する前に、私のモデル情報は

変更前

モデル情報を更新した後、

変更後

なぜMongoDBは間違ったDateUpdated値を保存するのですか? デバッガーで数回試しましたが、その値が変更されるたびに、DateTime が間違っているように見えます。

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; }
4

1 に答える 1

3

MongoDB は DateTime 値を UTC で格納します。表示されているのは、現地時間から UTC への変換です。

タイムゾーンを処理する最善の方法は、すべてのデータを (データベースだけでなくデータ モデルも含めて) UTC で保持し、ユーザーに値を表示する時点でのみ現地時間に変換することです。

于 2012-09-10T19:37:17.247 に答える