给定一个包含以下内容的 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"}}})
这是一个足够的查询并且易于实现
关于java - 如何在Java中的mongojack中使用elemmatch,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37980599/