从mongo db对象中提取完整的JSON对象

时间:2012-12-08 01:18:02

标签: json mongodb

我获取的DBObject如下所示

{ "_id" : { "$oid" : "50c28ac1de86acf0bdfbeca0"} , 
"schedule" : { "startAt" : 1354926785198 , "endAt" : 1391155200000 , "repeatForever" : true , "interval" : 3600} , "destination" : "Storage-East"}

我想提取JSON字符串sans“_id”,以便我可以将它反序列化回我的Java对象。如果我使用以下内容,我可以删除'_id'字段,可以从JSON字符串中恢复Java对象。有没有其他优雅的方式这样做?

dbObj.removeField("_id");
String jsonString = dbObj.toString();

// Now readValue from the json string 

感谢。

1 个答案:

答案 0 :(得分:1)

不要删除后面的数据,只需使用结果投影。您只需使用find语句中的结果投影删除_id

//find all documents where destination equals Storage-East, but exclude _id from result set
db.inventory.find( { "destination": 'Storage-East' }, { _id:0 } )

您可以找到文档http://docs.mongodb.org/manual/core/read-operations/#result-projections