出于某种原因,MongoDB C#驱动程序将日期存储为自Unix纪元以来的毫秒数。
导致日期被序列化,如此
"ends" : [
NumberLong(636021024270000000),
0
]
我希望日期是人类可读和ISO格式的序列化。这个问题有方法解决吗?我找不到一个。
答案 0 :(得分:-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格式获取Mongo中存储的日期。诀窍是以一种方式传递日期,就像初始化日期对象一样。