2016-06-23 8 views
1

のMongoDb何らかの理由により、MongoDB C#ドライバーは、Unixエポック時からのミリ秒数として日付を格納しています。それは、このC#のドライバーストア日付がISO形式の

"ends" : [ 
     NumberLong(636021024270000000), 
     0 
    ] 

のように連載された日付になり

私は日付がISO形式で読めるし、シリアル化された人間になりたいです。これには解決策がありますか?私は1つを見つけることができませんでした。

+1

C#オブジェクトでMongoDB.BSonを使用している場合、標準のDateTimeデータ型を使用できるはずです。すでにこれを行っている場合は、コレクションにオブジェクトを挿入するコードの一部を表示すると便利です。 – shiitake

+0

http://stackoverflow.com/q/2883576/447156 –

+1

MongoDBドライバは、デフォルトで、 'DateTime'オブジェクトをISO形式で格納します。あなたのモデルで 'DateTime'オブジェクトを使っていますか?あなたのモデルを見せてもらえますか? –

答えて

-1

は、私は同じ問題に遭遇し、それをこのように固定:

YourInitializedObjectWithDateField item = GetObject(); 

JavaScriptSerializer jss = new JavaScriptSerializer(); 
jss.MaxJsonLength = int.MaxValue; 
var json = jss.Serialize(item).Replace("\"\\/Date(", "new Date(").Replace(")\\/\"", ")"); 

BsonDocument bsonDoc = BsonDocument.Parse(json); 

このアプローチに続いて、日付はISO形式でモンゴに保存されるはずです。 JavaScriptの場合と同じように、日付オブジェクトを初期化しているかのように、トリックは日付を渡すことです。

+0

私はこれをハックまたは回避策として最高で考えると思います – mare

+0

なぜdownvoteですか? – RizJa

関連する問題