Javascript 将Mongoose聚合函数返回给Angular
我试图找出如何将聚合函数返回到Angular,但我不断地得到错误。我真的被困在这个问题上了,如果能帮我解决我做错的事情,我将不胜感激。我收到一个错误,告诉我无法读取未定义的属性“聚合”。Javascript 将Mongoose聚合函数返回给Angular,javascript,angularjs,node.js,mongodb,mongoose,Javascript,Angularjs,Node.js,Mongodb,Mongoose,我试图找出如何将聚合函数返回到Angular,但我不断地得到错误。我真的被困在这个问题上了,如果能帮我解决我做错的事情,我将不胜感激。我收到一个错误,告诉我无法读取未定义的属性“聚合”。 这是角度传感器连接到的路线: router.get('/enrolledin', function(req, res) { var isEnrolled = Enrolled.findDetails(); //Enrolled.studentIsTaking(student); isEnr
这是角度传感器连接到的路线:
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");
});
});
这是已注册的.findDetails():
我相信(滚动到示例)期望的是数组而不是对象
旁白:我不知道为什么人们喜欢用猫鼬来捕捉猫鼬。依我看,这似乎是不必要的,而且会使代码变长
我只需将其改写为您的代码,如下所示:
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);
};
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);
};