mongodb 字符串转bson_将(.net)BsonDocument字符串转换为(java)DBObject

在发布流程中,我需要使用

Java将DBObject插入到mongo db集合中.

我收到对象作为字符串,这已经从一个.NET应用程序传递给我,该应用程序在POCO上使用了article.ToBsonDocument().ToJson().

在我的流程中,在Java中,我尝试使用BasicDBObject doc =(BasicDBObject)JSON.parse(content);但我在日期得到一个com.mongo.util.JSONParseException:

"CreationDate" : ISODate("2013-03-18T08:50:53Z")

我可以改变在C#中生成内容的方式,我可以在java中更改如何写入数据库,我唯一的限制是必须在两个系统之间作为字符串传递.

有什么建议?

编辑感谢下面@Jim Dagg的提示,一些谷歌搜索ISODate和BsonDocument结果是this gem.更改c#代码使用

article.ToBsonDocument().ToJson(new JsonWriterSettings{OutputMode = JsonOutputMode.Strict});

固定它.

最佳答案 ISODate构造函数调用是导致问题的原因.从

an issue on the MongoDB JIRA开始:

The parser accepts these two date formats: seconds ->

"yyyy-MM-dd'T'HH:mm:ss'Z'" or seconds.milleseconds ->

"yyyy-MM-dd'T'HH:mm:ss.SSS'Z'" Just add seconds to your $date value

and the aggregation command should work. Here’s the JSON doc that I

had success with: { "aggregate" : "test", pipeline : [ {$match : {

date : { $date : "2012-05-01T12:30:00Z" } } } ] }

如果您删除ISODate构造函数并只是将日期呈现为(例如)“2013-03-18T08:50:53Z”,那么您应该开展业务.


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部