mongodb与java中的where子句不同

时间:2015-12-18 12:26:13

标签: java mongodb mongodb-query

我有一个参考集合,其中包含多个文档,如

"_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 distinct? 例如:select distinct refName from collection where referenceId in [565555ef4ee29e068f61dd74,565555ef4ee29e068f61dd75,565555ef4ee29e068f61dd76]。我有多个referenceId' s我应该从中获取唯一的refName。我怎样才能做到这一点?提前谢谢。

1 个答案:

答案 0 :(得分:0)

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

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

以同样的方式,您可以检查in