【问题标题】:Sub queries in mongodbmongodb中的子查询
【发布时间】:2017-07-25 03:12:11
【问题描述】:

我有两个名为 PERSON 和 DOCUMENTS 的 mongodb 表。我想从 ID 位于 DOCUMENT 表中的 PERSON 表中获取 personName。在关系表中查询是这样的。

SELECT personName from PERSON where personID in (SELECT personID from ID)

我尝试使用聚合和 $lookup 函数,但没有得到我想要的答案。我使用的 mongo 查询是,

db.PERSON.aggregate([

{
    "$lookup": {
        "from": "DOCUMENTS",
        "localField": "personID",
        "foreignField": "personID",
        "as": "grp"
    }
}

])

这个 mongo 查询连接两个表并返回每个文件。但我只想要 personName。

任何帮助将不胜感激。

【问题讨论】:

    标签: mongodb subquery


    【解决方案1】:

    我找到了办法,

    db.PERSON.aggregate([
    
    {
    "$lookup": {
        "from": "DOCUMENTS",
        "localField": "personID",
        "foreignField": "personID",
        "as": "grp"
    }
    },
    {"$unwind" : "$grp"},
    {"$project" : {
        "personName" : 1
    }
    
    ])
    

    【讨论】:

      猜你喜欢
      • 2018-11-16
      • 2020-01-04
      • 2015-01-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-12-15
      • 1970-01-01
      相关资源
      最近更新 更多