時間:2024-02-14 10:19作者:下載吧人氣:25
一. 聚合框架
聚合框架是MongoDB的高級查詢語言,它允許我們通過轉(zhuǎn)換和合并多個文檔中的數(shù)據(jù)來生成新的單個文檔中不存在的信息。
聚合管道操作主要包含下面幾個部分:
命令 | 功能描述 |
$project | 指定輸出文檔里的字段. |
$match | 選擇要處理的文檔,與fine()類似。 |
$limit | 限制傳遞給下一步的文檔數(shù)量。 |
$skip | 跳過一定數(shù)量的文檔。 |
$unwind | 擴(kuò)展數(shù)組,為每個數(shù)組入口生成一個輸出文檔。 |
$group | 根據(jù)key來分組文檔。 |
$sort | 排序文檔。 |
$geoNear | 選擇某個地理位置附近的的文檔。 |
$out | 把管道的結(jié)果寫入某個集合。 |
$redact | 控制特定數(shù)據(jù)的訪問。 |
$lookup |
多表關(guān)聯(lián)(3.2版本新增) |
在本篇幅中,我們聚焦$lookup的使用。
二. $lookup的功能及語法
1. 主要功能 是將每個輸入待處理的文檔,經(jīng)過$lookup 階段的處理,輸出的新文檔中會包含一個新生成的數(shù)組列(戶名可根據(jù)需要命名新key的名字 )。數(shù)組列存放的數(shù)據(jù) 是 來自 被Join 集合的適配文檔,如果沒有,集合為空(即 為[ ])
2. 基本語法
{ $lookup: { from: <collection to join>, localField: <field from the input documents>, foreignField: <field from the documents of the "from" collection>, as: <output array field> } }
網(wǎng)友評論