我必须在mongoid数组中查询数组内的值组合。
查询数组示例如下所示:
qa = [["a","b","c"], ["a","b"],["b","c"]]
Model.any_in(:field => qa)
我需要的是:field
包含值的所有模型(但也可能是其他模型)
例如,由于查询中的:field
,它应该返回["b",'c','d']
为["b","c"]
的模型。
ATM我的解决方案是迭代查询数组并为每个嵌套数组执行any_in
,然后组合结果。这当然有效,但现在如果有一个大大增加的查询数组的情况,如大约20k“子阵列”。这花费了太多时间。
到目前为止,我尝试了any_in
和any_of
的组合,所有这些只会让我找到一个解决方案,我可以查询嵌套数组的完全匹配,例如["a","b","c"]
中的:field
模型1}}