如何在Java中的mongojack中使用elemmatch

时间:2016-06-23 00:58:53

标签: java mongodb mongo-jackson-mapper mongojack

给定包含以下内容的mongoDB集合:

{ 
"_id" : ObjectId("561c04bde4b05625eaaaf691"), 
"groupName" : "Group1", 
"Rights" : [
    "RIGHTS_1", 
    "RIGHTS_2"
], 
"users" : [
    "User 1"
]}


,{ 
    "_id" : ObjectId("561c04bde4b05625eaaaf692"), 
    "groupName" : "Group2", 
    "Rights" : [
        "RIGHTS_3", 
        "RIGHTS_4"
    ], 
    "users" : [
        "User 2"
]}

我有这样的查询

db.collection.find({Rights:{$elemMatch:{$eq:"RIGHTS_1"}}})

,查找权限与RIGHTS_1匹配的群组。

但是,我不确定如何使用MongoJack编写等效查询,因为在MongoJack中,我有类似的东西

DBQuery.elemMatch(collection.RIGHTS_FIELD, DBQUERY_GOES_HERE))

但DBQuery必须有一个字段和一个值,并且似乎不允许在数组中进行相等性检查。我检查了其他帖子和文档,但我似乎无法找到解决方案。 MongoJack是否支持这种查询?我很感激帮助!

1 个答案:

答案 0 :(得分:1)

我真的很傻。

db.collection.find({Rights:{$eq:"RIGHTS_1"}}})

是一个足够的查询,易于实现