Mongodb:查询多个集合

时间:2018-12-07 09:31:04

标签: spring mongodb spring-boot mongodb-query spring-data-mongodb

我有一个Application集合,其中包含以下文档:

{
    "_id" : "TAIS",
    "commonUserName" : "TAIS",
    "scopes" : [
        DBRef("Scope", "GEN_ECO"),
        DBRef("Scope", "GEN_PRE")
    ]
}

因此,Scope个收集文档就像:

{
    "_id" : "GEN_PRE",
    "code" : "1DPVE000"
}

在这里,还有另一个第三收藏集,Reference

{
    "_id": "sdfls2",
    "app" : "TAIS"
}

我需要建立一个查询,以查找references到哪里的reference.app belongs to a given %scope%

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

您可以使用$lookup“加入”收藏集。 例如

db.applications.aggregate([
{
 $lookup:
   {
     from: "third_collection",
     localField: "_id",
     foreignField: "app",
     as: "app_with_reference"
   }
  }
])

更多: https://docs.mongodb.com/manual/reference/operator/aggregation/lookup/#pipe._S_lookup