我有两个使用mongo收集查询的流星函数。
UI.registerHelper('studentsInCourse', function() {
var courseID = Router.current().params.courseID;
let userIdArray = Enrollment.find(
{ CourseID: courseID}
).map((e) => { return e.UserID});
console.log(userIdArray); //this array correctly has multiple objs in it
var userArray = Meteor.users.find(
{ _id: { $in: userIdArray }}).map((c) => { return c });
console.log(userArray);
return userArray;
}),
Template.registerHelper('course_list', function(){
let courseIdArray = Enrollment.find(
{ UserID: Meteor.userId(), EducatorFlag: false },
{ fields: { CourseID: 1 }}).map((e) => { return e.CourseID });
return Courses.find(
{ _id: { $in: courseIdArray }}).map((c) => { return c });
})
course_list函数正常工作,并返回Course集合中的Course对象列表。然而,当我登录userIdArray时,studentsInCourse函数正确地打印出一个数组,但它只将一个用户对象放入userArray。这恰好对应于userIdArray中最后一个对象的_id。这些功能看起来和我完全一样,我不明白他们为什么返回不同。
这正是发生的情况。谢谢你的摘录! –