我有一个参考馆藏,其中包含多个文档,例如

"_id": ObjectId('565555ef4ee29e068f61dd75'),
    "referenceId": "565555ef4ee29e068f61dd74",
    "refName": "abc",
}
"_id": ObjectId('565555ef4ee29e068f61dd75'),
    "referenceId": "565555ef4ee29e068f61dd75",
    "refName": "def",
}
"_id": ObjectId('565555ef4ee29e068f61dd75'),
    "referenceId": "565555ef4ee29e068f61dd76",
    "refName": "abc",
}


是否有可能用java驱动程序在where或in子句中实现mongodb?
例如:select distinct refName from collection where referenceId in [565555ef4ee29e068f61dd74,565555ef4ee29e068f61dd75,565555ef4ee29e068f61dd76]。我有多个referenceId,我应该从中获得唯一的refName。我怎样才能做到这一点?提前致谢。

最佳答案

您已经尝试过这种方式吗?
您应该能够检查equals条件:

DBCollection collection = db.getCollection("collection");
DBObject obj = new BasicDBObject("referenceId", new BasicDBObject("$eq", "565555ef4ee29e068f61dd74"));
List result = collection.distinct("refName", obj);


同样,您将可以检查in

关于java - mongodb与Java中的where子句不同,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34355687/

10-12 03:24