如何从具有 where 条件的集合中获取不同的值?
例如,我有 Worker 类,其中包含 status 和 workerId 以及其他字段,在这里我想检索具有 status="ACTIVE" 的不同 workerId;
我已经进行了足够的谷歌搜索,但找不到任何解决方案
任何帮助,将不胜感激
提前致谢!
编辑
对不起,伙计们,我没有正确提出我的问题。我希望使用 morphia 而不是使用 mongodb 本机查询来完成此操作。
这可以使用 MapReduce 完成吗?请帮帮我!
很抱歉延迟发布,
BasicDBObject dbObject=new BasicDBObject();
dbObject.append("status","ACTIVE");
这dbObject
将作为 where 条件,
DBCollection dBCollection = datastore.getCollection(MyEntity.class);
List id=dBCollection.distinct("id",dbObject);
此 ID 列表将包含所有不同的 ID,其status="ACTIVE"
distinct作为命令而不是查询被支持(不知道为什么)。试试下面
db.runCommand (
{
distinct: 'name-of-collection',
key: 'worker-id',
query: { 'status': 'ACTIVE' }
}
)