鍍金池/ 問答/Java  數(shù)據(jù)庫  網(wǎng)絡(luò)安全/ mongodb中如何實(shí)現(xiàn)關(guān)聯(lián)查詢?

mongodb中如何實(shí)現(xiàn)關(guān)聯(lián)查詢?

如何實(shí)現(xiàn)兩個表的關(guān)聯(lián)查詢?有兩個文檔,
文檔A的結(jié)構(gòu)如下,是視頻播放次數(shù)排行:
文檔A的結(jié)構(gòu)

文檔B,是視頻的詳細(xì)信息,其實(shí)icon字段中的url是視頻的相關(guān)海報(bào),是我想要獲取的,可通過name字段關(guān)聯(lián)到文檔A
文檔B的結(jié)構(gòu)

我現(xiàn)在需要展示視頻排行榜,就需要在文檔B中獲得相關(guān)視頻的海報(bào)的URL,請問該如何操作呢? 后端用的事Spring boot框架。

回答
編輯回答
朽鹿

這個可以用$lookup

db.表A.aggregate([
   {
      $unwind: "$name"
   },
   {
      $lookup:
         {
            from: "表B",
            localField: "name",
            foreignField: "name",
            as: "match_name"
        }
   },
   {
      $match: { "match_name": "小豬佩奇全集" }
   }
])
2018年4月13日 06:24