mongodb游标';s forEach不执行
我有这个密码mongodb游标';s forEach不执行,mongodb,meteor-blaze,Mongodb,Meteor Blaze,我有这个密码 var employeesEdited = []; var employees = Employees.find({group: 'ABC', task : { $in: ['CHANNEL MANAGER','SUPERVISOR','LINE LEADER'] }} , {employeeNo: 1, firstName: 1, middleName: 1, lastName: 1, task: 1, supEmpNo: 1, supN
var employeesEdited = [];
var employees = Employees.find({group: 'ABC', task : { $in: ['CHANNEL MANAGER','SUPERVISOR','LINE LEADER'] }}
, {employeeNo: 1, firstName: 1, middleName: 1, lastName: 1, task: 1, supEmpNo: 1, supName: 1});
console.log(employees.count()); // I get 0 on this
employees.forEach((employee) => {
console.log('inside for each'); // this does not run, no logs in browser
employeesEdited.push(employee.employeeNo, employee.supEmpNo, 'test_tooltip');
});
employees.forEach((employee) => {
console.log(`Emp no: ${employee.employeeNo}`);
});
console.log(employeesEdited);
我试图做的是使用for each循环遍历集合的返回游标。但它似乎没有执行。forEach循环中的console.log不执行
另外,Cursor.count()方法返回0
但是当I console.log从find函数返回游标时,如果I console.log(employees)为
我不确定我在这里做错了什么,我按照meteor中的文档遵循了语法
我还将代码从使用function()改为使用胖箭头,但结果仍然相同
此代码位于Template.Template.onRendered事件中。其他代码运行,但这个forEach对我不起作用
样本文件
{
"_id": "5b27c83b4e6a6cb37b141910",
"employeeNo": "RMM090713",
"prodClientGroup": "ASC",
"prodDivision": "DCS",
"prodChannel": "ABC",
"prodSection": "ADMIN",
"prodTeam": "TEAM 1",
"prodProduct": "",
"prodClassification": "TEST CLASSIFICATION",
"lastName": "SANTOS",
"firstName": "MARK",
"middleName": "MENDOZA"
}
我使模式变得非常简单和平坦,一行数据代表一个文档。尝试使用
cursor.toArray((err,docs)=>{})
而不是cursor.forEach
您可以发布来自employees collection的示例数据吗?这看起来像是一个错误的查询,而不是cursor.forEach
的问题。请添加您希望集合返回的文档,@Astro已经发表了评论。我添加了来自mongodbI的示例文档,并尝试在教程中的示例项目上执行forEach操作,它确实有效。你给了我一些想法,所以我在chrome developer tools中检查了对象的结构,但它们似乎具有相同的结构相同的结果,它不会执行toArray()的块代码mongo驱动程序的版本是什么?它说1.4.2,我没有碰过这个。这是“创建新项目”命令集设置的内容