一种“not_eq_join”,如果有道理的话。
A 有一个表A
,其中的文档包含一个_key
字段(它是主键),另一个表B
有一个refs
指向 的字段A._key
,这是一个多索引,因此它可能包含对A
. A 很大,但 B 不是(可能小于 1000)
进入A
:
{
'_key': 'doc1',
...
}
进入B
:
{
'refs': ['doc1'],
...
}
问题是; 我如何找到没有A
被任何文件引用的文件?B
我天真的解决方案是从B.refs
多重索引(但如何做到这一点?)中检索所有唯一值到数组变量,然后执行以下操作:.filter(refArray.contains(R.row['_key']).not_())
在A
选择上(也按其他条件过滤)。
但这似乎是错误的,有更好的想法吗?
当然,我想“尽快”做到这一点:)