我有包含多个角色/权利定义作为嵌套对象数组的文档:
{
...
'roleRights': [
{'roleId':1, 'right':1},
{'roleId':2, 'right':1},
{'roleId':3, 'right':2},
]
}
我正在尝试过滤掉具有特定角色权限的文档,但我的查询似乎混淆了组合。这是我的 filterQuery 作为“伪代码”
boolFilter > must > termQuery >roleRights.roleId: 1
boolFilter > must > termQuery >roleRights.type: 2
以上应该只返回
- 角色 1 分配有权限 2 的文档。
但看起来我明白了
- 分配了角色 1 的所有文档,无视权利
- 以及所有分配了权利 2 的文件,而不管角色。
有什么提示吗?