1

给定一个包含以下内容的 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 支持这种查询吗?感谢您的帮助!

4

1 回答 1

1

我真的很笨。

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

是一个充分的查询并且易于实现

于 2016-06-23T03:19:14.737 回答