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