我正在尝试执行此查询:
db.indexInverse.find({_id:ObjectId("5a153409b9c52933c8aab068")}).pretty()
使用 Java ...
实际上我尝试了很多事情...但是找不到我的文档...
Document vraiDoc = collectionIndexInverse.find(Filters.eq("_id", new ObjectId("\"" + idDoc + "\""))).first();
或者
Bson query = (Bson) new BsonString("{ _id:ObjectId(\"" + idDoc + "\")}");
Document vraiDoc = collectionIndexInverse.find(query).first();
或者
Bson query = (Bson) new BsonString("{ _id:ObjectId(idDoc)}");
Document vraiDoc = collectionIndexInverse.find(query).first();
最佳答案
在您第一次尝试双引号 ObjectId
值时。
这会起作用:
Document vraiDoc = collectionIndexInverse.find(
Filters.eq("_id", new ObjectId("5a153409b9c52933c8aab068"))
).first();
更一般地说,考虑到这些文档:
{
"_id" : ObjectId("59b86ff639f9ba0f9c0dccf6"),
...
},
{
"_id" : ObjectId("59c0e662ac11a822d4e5da27"),
...
}
以下命令将返回第一个文档...
find(Filters.eq("_id", new ObjectId("59b86ff639f9ba0f9c0dccf6"))).first();
...以下命令将返回第二个文档:
find(Filters.eq("_id", new ObjectId("59c0e662ac11a822d4e5da27"))).first();
关于java - MONGODB - 使用 JAVA 查找 "_id",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47441670/