簡體   English   中英

將貓鼬聚合函數返回到Angular

[英]Returning a Mongoose Aggregate Function to Angular

我試圖弄清楚如何將聚合函數返回到Angular,但是我一直遇到錯誤。 我真的很堅持這一點,希望對我做錯的事情有所幫助。 我收到一條錯誤消息,告訴我無法讀取undefined的屬性“聚合”
這是我的角度連接到的路線:

router.get('/enrolledin', function(req, res) {
    var isEnrolled = Enrolled.findDetails(); //Enrolled.studentIsTaking(student);
       isEnrolled.then((user) => {
        res.json(user);
    })
        .catch((err) => {
        res.send("error found");
    });


});

這是Enrolled.findDetails()

 module.exports.findDetails = function() {
    var x = db.enrolleds.aggregate(
        { $lookup: 
         {
             from:'classstores',
             localField:'classID',
             foreignField: 'classKey',
             as: 'matching'
         }
        }


    );
    return x;
}

我相信聚合 (滾動到示例)期望數組不是對象。

旁白:我不知道為什么人們愛用thencatch與貓鼬。 IMO似乎不必要,並且會使您的代碼更長。

我只是將其重寫為您的代碼,如下所示:

router.get('/enrolledin', (req, res) => {
    Enrolled.findDetails((err, users) => {
        if (err)
            return res.send('error found', err);
        res.json(users);
    });
});

module.exports.findDetails = (callback) => {
    db.enrolleds.aggregate([
        { 
            $lookup: {
                from: 'classstores',
                localField: 'classID',
                foreignField: 'classKey',
                as: 'matching'
            }
        }
    ], callback);
};

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM