我从 MongoDB 游标返回数据 BasicDBObject
,其 toString()
返回以下数据:
{
"_id" : { "$oid" : "52b8775ebf552f39c2ae5cf2"} ,
"patient" : {
"$ref" : "patients" ,
"$id" : "52b848ae65b9f1856f630dd8"} ,
"doctor" : {
"$ref" : "doctors" ,
"$id" : "5294f0a76297040bf2aa6b53"} ,
"type" : "opd" ,
"title" : "Not feeling well" ,
"start" : { "$date" : "2013-12-24T00:30:00.000Z"} ,
"end" : { "$date" : "2013-12-24T00:30:00.000Z"} ,
"reference_doctor_id" : null
}
我尝试获取“start”
字段(Date
)值,但抛出java.lang.NullPointerException
。
我的Java代码:
final BasicDBObject data = (BasicDBObject) rs.next(),
patient = (BasicDBObject) ((DBRef) data.get("patient")).fetch();
final JsonObject resp = new JsonObject();
System.out.println("Appointments : \n"+data.toString());
resp.putValue("start", data.getDate("start"))
.putValue("end", data.getDate("end"))
.putValue("_id", (data.getObjectId("_id")).toString())
.putValue("type", data.get("type"))
.putValue("name", patient.get("name"))
.putValue("patient", (patient.getObjectId("_id")).toString());
问题:如何从文档中提取"start"
和"end"
字段值?
Java 驱动程序:2.4.x
最佳答案
您可以使用org.joda.time.DateTime,
new DateTime(data.get("start"))
关于java - MongoDB 从 BasicDBObject 获取日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20749167/