在Mongo Collection中没有依赖关系的Id列表

时间:2016-08-26 05:30:45

标签: mongodb spring-data

我在spring-mongo查询中有一个场景。 Mongo版本为3.2

应用程序有两个集合(集合A和集合B)。

**Sample contents**
Collection A :: {"_id":1, "name":"content 1"}...{"_id":100, "name":"content 100"}

Collection B :: {"_id":1, "name":"parent 1", "a":[1,2,58,67]}
{"_id":2, "name":"parent 2", "a":[2,85,96,99]}

集合B将集合A的引用ID保存为数组。

情境:  我将过去收集A的ID列表到查询:我需要获取集合A的ID列表,这些列表在集合B中的任何位置都没有关联。 如何实现这个目标?

2 个答案:

答案 0 :(得分:1)

我计划继续使用以下查询进行聚合。查找 preserveNullAndEmptyArrays可以节省我的一天。

it "populates an array of books" do
  book = FactoryGirl.create(:book)
  get :index
  expect(:books).to eql([book])
end

答案 1 :(得分:0)

可以使用以下方法完成

1)在集合B中找到唯一ID,它们在数组“a”中:[]

2)在集合A中执行查找查询 - 在查询查询中使用$nin并传递从集合“a”中获取的所有ID:[]来自集合B

注意:如果您需要在两个集合之间找到匹配的文档,那么您可以使用$ lookup,它就像左外连接一样。