java - 如何在Java mongodb驱动程序中使用 “_id”字段查询文档而不使用集合名称?

标签 java mongodb

这是我想要获取的文档。

{"_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/

相关文章:

java - ProtoBuf 由 gradle 生成的类在 IntelliJ 的另一个模块中不可见

Java 四个字节转二进制 'bitmask'

node.js - 在node.js中使用forEach函数时出现问题

java - BigDecimal 的奇怪舍入问题

java - Java 中包相对标识符路径

java - PL/SQL 中的嵌套类(对象类型)

c# - MongoDB ssl 通过 C# 驱动程序 : The remote certificate is invalid according to the validation procedure

javascript - NodeJS 和 MongoDB FindAndModify() 需要删除或更新

mongodb - 如何在mongodb中使用jsonpath?

python - 使用 Mongoengine 进行插入只能从 shell 工作,但不能从 Django View 工作