下載吧 - 綠色安全的游戲和軟件下載中心

          軟件下載吧

          當(dāng)前位置:軟件下載吧 > 數(shù)據(jù)庫 > DB2 > MongoDB聯(lián)表查詢用法實(shí)戰(zhàn)(mongodb聯(lián)表查詢)

          MongoDB聯(lián)表查詢用法實(shí)戰(zhàn)(mongodb聯(lián)表查詢)

          時(shí)間:2024-03-26 14:36作者:下載吧人氣:27

          MongoDB是當(dāng)今最為流行的NoSQL數(shù)據(jù)庫,它提供了一種聯(lián)表查詢(Join)的機(jī)制,可以滿足復(fù)雜的查詢需求。通過聯(lián)表查詢,可以把不同文檔的數(shù)據(jù)關(guān)聯(lián)起來,也就是實(shí)現(xiàn)了關(guān)系型數(shù)據(jù)庫中Join類型操作的功能。

          MongoDB的聯(lián)表查詢用法可以分成三種:lookup(用于前后指定字段名)、$lookup(支持管道操作符)和聚合框架-(Aggretaion Framework)。

          首先,讓我們來看一下lookup的用法,lookup特別適合于“一對(duì)一”和“一對(duì)多”的關(guān)系。假設(shè)我們有兩個(gè)集合,一個(gè)是訂單集合,一個(gè)是客戶集合。訂單集合中有存放客戶ID,而客戶集合中有客戶姓名等信息。我們想要查詢出每筆訂單的客戶姓名,就可以使用lookup實(shí)現(xiàn)聯(lián)表查詢。具體的查詢語句如下:

          db.orders.aggregate([

          {

          $lookup: {

          from: ‘customers’,

          localField: ‘cust_id’,

          foreignField: ‘_id’,

          as: ‘customer_info’

          }

          }

          ])

          其次,很多人在查詢的時(shí)候都會(huì)用到$lookup進(jìn)行聯(lián)表查詢,這也是最常用的,因?yàn)樗氖褂闷饋砀屿`活一些,可以支持管道操作符,讓我們來看看$lookup的例子:

          db.orders.aggregate([

          {

          ‘$lookup’: {

          from: ‘customers’,

          ‘let’: {‘cust_id’: ‘$cust_id’},

          pipeline: [

          {

          ‘$match’: {

          ‘$expr’: {

          ‘$eq’: [

          ‘$$cust_id’, ‘$_id’

          ]

          }

          }

          }

          ],

          as: ‘customer_info’

          }

          }

          ])

          最后,我們還可以使用聚合框架實(shí)現(xiàn)聯(lián)表查詢操作,聚合框架允許我們?cè)诓樵冎惺褂幂^復(fù)雜的功能,可以把查詢條件設(shè)置在管道內(nèi)部(內(nèi)嵌文檔),可以分配結(jié)果集,也可以實(shí)現(xiàn)Lookup類型的聯(lián)表查詢。

          db.job.aggregate([

          {

          $lookup: {

          from: ‘user’,

          let: { id: ‘$user_id’},

          pipeline: [

          {$match: {$expr: {$eq: [‘$_id’, ‘$$id’]}}},

          {$project: {name: 1, _id: 0}}

          ],

          as: ‘user_info’

          }

          },

          {$project: {user_info: 1. _id: 0}}

          ])

          以上就是MongoDB聯(lián)表查詢的三種用法,也就是lookup、$lookup還有聚合框架。當(dāng)我們遇到需要復(fù)雜的查詢需求的時(shí)候,這些技術(shù)都可以派上用場,靈活的使用不同的技術(shù),一定能幫助我們快速解決和處理問題。

          標(biāo)簽mongodb 聯(lián)表查詢,mongodb聯(lián)表查詢,MongoDB,查詢,lookup,id,聯(lián)表,我們,可以

          相關(guān)下載

          查看所有評(píng)論+

          網(wǎng)友評(píng)論

          網(wǎng)友
          您的評(píng)論需要經(jīng)過審核才能顯示

          熱門閱覽

          最新排行

          公眾號(hào)

          主站蜘蛛池模板: 日韩内射美女人妻一区二区三区 | 亚洲色精品aⅴ一区区三区 | 国内精品无码一区二区三区| 日本一区二区三区在线看| 在线观看一区二区精品视频| 无码av中文一区二区三区桃花岛| 动漫精品一区二区三区3d| 日本精品一区二区三区在线视频| 国产日韩一区二区三免费高清| 久久久久成人精品一区二区| 麻豆国产一区二区在线观看| 美日韩一区二区三区| 国产福利电影一区二区三区久久久久成人精品综合 | 91福利国产在线观一区二区| 亚洲av无码一区二区三区天堂 | 国产精品一区在线麻豆| 国产成人一区二区三区高清 | 精品无人区一区二区三区在线| 久久精品国内一区二区三区| 精品国产一区二区三区在线观看| 亚洲欧洲一区二区| 国产成人一区二区三区精品久久| 国产一区三区三区| 亚洲熟女综合色一区二区三区| 午夜无码一区二区三区在线观看| 日本中文字幕一区二区有码在线| 99精品国产高清一区二区麻豆| 一区二区视频免费观看| 国模私拍福利一区二区| 精品一区二区三区色花堂| 亚洲av无码一区二区三区在线播放| 91久久精一区二区三区大全| 精品成人乱色一区二区| 国产一区二区三区在线观看精品| 一区二区无码免费视频网站| 国产区精品一区二区不卡中文| 国产激情一区二区三区四区| 人妻体体内射精一区二区| 四虎永久在线精品免费一区二区| 97se色综合一区二区二区| 中文字幕在线精品视频入口一区|