给定一个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支持这种查询吗?感谢您的帮助!
最佳答案
我当时真傻。
db.collection.find({Rights:{$eq:"RIGHTS_1"}}})
是足够的查询并且易于实现