[英]How to query documents using "_id" field in Java mongodb driver?
[英]How to query documents using “_id” field in Java mongodb driver without using the collection name?
这是我要获取的文件。
{"_id": {"$oid": "5747f303631e1e261019914d"},
"school": "aaa", "name": "Kamal", "likes": 200}
我只想通过传递其_id
而不给出其集合来获取它。
public DBObject findDocumentById(String id) {
BasicDBObject query = new BasicDBObject();
query.put("_id", new ObjectId(id));
DBObject dbObj = collection.findOne(query);
return dbObj;
}
当我在不同集合中搜索不同文档时,我不想说_id
属于哪个集合。 所以不用说collection.findOne(query)
。
如何取得文件?
您必须提到什么是集合。 但是您可以尝试一下。
for(String collectionName : mongoOperation.getCollectionNames()){
DBCollection collection = mongoOperation.getCollection(collectionName);
DBObject query = new BasicDBObject();
query.put("_id", new ObjectId(id));
DBCursor cursor = dbCollection.find(query);
if(cursor.hasNext()){
//match
//do something
break;
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.