我有兩個使用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。這些功能看起來和我完全一樣,我不明白他們爲什麼返回不同。
這正是發生的情況。謝謝你的摘錄! –