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: "集合輸出目標集合名稱"
    }
])

 

 

 

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