MongoDB 使用aggregate做join连接 并保留第一个join结果(二)

db.主表.aggregate([
    {
        "$lookup": {
            "localField": "主键",
            "from": "从表",
            "foreignField": "外键",
            "as": "结果集字段名称a"
        }
    }
    ,
    {
        "$project": {
            "_id": 0,
            "id": 1,
            "type": 1,
            "startNode": 1,
            "startKeyNo": 1,
            "endKeyNo": 1,
            "endNode": 1,
            "role": 1,
            "结果集字段名称a": {
                $slice: ["$结果集字段名称a", 1]
            }
        }
    }
    ,
    {
        "$unwind": "$结果集字段名称a"
    } 
    ,

    {
        $project: {
            "id": 1,
            "type": 1,
            "startNode": 1,
            "startKeyNo": 1,
            "endKeyNo": 1,
            "endNode": 1,
            "role": 1,
            "start_node_name": "$结果集字段名称a.name",

			"start_node_labels": "$结果集字段名称a.labels"
        }
    }
    ,
    {
        $out: "集合输出目标集合名称"
    }
])

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章