mongodb+js 通过aggregate进行联表查询无法获取正常结果

我想要实现商品收藏夹的功能,实现逻辑是建一个favorites表,里面的字段是用户+产品id,先从favorites表过滤出当前用户的数据,再通过过滤结果的产品id到product表查找具体的商品信息
product表

img

favorites表

img

js代码

MongoClient.connect(url, { useUnifiedTopology: true }, function(err, db) {//数据库连接
      if (err) throw err;
      var dbo = db.db("AuctionDB");//连接到某一个具体的集合
      var user = req.query.user;  
      var query = {"user":user};// 查询条件
      console.log(query);

      dbo.collection("favorites").aggregate([
         {
            $lookup:{
               from:"product",
               localField: "productId",
               foreignField: "productId",
               as:"myFavorites"
            }
         },
         {
            $match:{
               "user":user
            }
         },
      ]).toArray(function(err, result) { // 返回集合中所有数据
         console.log(result);
        if (err) throw err;
        resp.json(result)
        db.close();
      });
  });

查找结果

img

感觉只是一个很简单的问题,但是不知道为什莫会出错,求解答