这是我想要获取的文档。
{"_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;
}
}
关于java - 如何在Java mongodb驱动程序中使用 “_id”字段查询文档而不使用集合名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37761412/