2017-09-23 46 views
0

2代表我有2個表蒙戈DB選擇所有行的FOM根據連接條件

useraverage 
    id 
    average 



usersdetails 
    id 
    name 
    address 

output 
id 
name 
address 
average 

我試圖查找,但它不是返回數據。

db.userdetails.aggregate([ 
    { 
     $lookup: 
     { 
      from: "useraverage", 
      localField: "id", 
      foreignField: "id", 
      as: "useraverage" 
     } 
    } 
    ],function (err, result) { 
     console.log(result); 
     res.json(result); 
    }); 

回答

0

你使用的是MongoDB的_id還是你自己的?如果您使用第一個選項,那麼你查詢應該是這樣的:

 
    `db.userdetails.aggregate([ 
    { 
     $lookup: 
     { 
      from: "useraverage", 
      localField: "_id", 
      foreignField: "_id", 
      as: "useraverage" 
     } 
    }, 
    {$unwind : "$useraverage"}, 
    {$project : { 
     name : 1, 
     address : 1, 
     average: "$useraverage.average" 
     }} 
    ],function (err, result) { 
     console.log(result); 
     res.json(result); 
    });`
+0

您好感謝我有一個疑問,我可以使用子查詢,而不是用戶平均表 – Lijo

+0

我不知道我理解你,做你的意思是一個子文件?如果您使用useraverage表來存儲平均值,那麼我會將這些信息嵌入到userdetails表中,這樣會更快地表現出明智的表現。 –