【发布时间】:2017-04-14 15:03:00
【问题描述】:
我有以下 json 结构。我正在尝试在 hData._id 不为空的 java 中运行以下 mongo 查询。
MongoDb Query: db.Collection.find({},{"hData._id":1, "hData.createdBy":1} )
{
"_id" : ObjectId("55567e594e3256a23565ce58"),
"hData" : {
"isDeleted" : false,
"canDelete" : false,
"canUpdate" : false,
"createdBy" : “xyz”,
"createdDate" : "2015-05-15T15:05:30",
"_id" : "7"
},
"changeDate" : "2015-02-19T16:02:12",
}
我用java编写的获取hData._id的代码是
MongoCursor<Document> cur = col.find(new BasicDBObject("hData._id", new BasicDBObject("$ne",null)))).iterator();
try{
while(cur.hasNext()){
System.out.println(cur.next().getObjectId("hData._id"));
i++;
}
}finally {
cur.close();
}
但是,hData._id 返回为null。你能帮我解决这个问题吗?
【问题讨论】:
-
你检查过 cur.next() 是什么吗?我认为你不能调用 getObjectId("hData._id") 。
-
你用的是哪个版本的mongo驱动?
标签: java mongodb mongodb-query spring-data-mongodb