我该如何使用mongoid来找到这样的

时间:2014-07-11 10:24:31

标签: mongodb mongoid

出于某种原因,我必须找到这样的回忆:

Collection.or([
  {:one_id => index_id_arr[0], :two_id.in => samp_id_ary[0]},
  {:one_id => index_id_arr[1], :two_id.in => samp_id_ary[1]},
  {:one_id => index_id_arr[2], :two_id.in => samp_id_ary[2]}
])

index_id_arrsamp_id_ary具有相同的长度,但不确定它们的长度

如何获得正确的藏品?

1 个答案:

答案 0 :(得分:1)

Collection.or只是在寻找一系列条件,所以你只需要构建那个数组。您知道index_id_arrsamp_id_ary具有相同的大小,因此您可以执行以下操作:

Collect.or(
  index_id_arr.zip(samp_id_ary).map { |one, two| { :one_id => one, :two_id.in => two } }
)