【发布时间】:2015-03-17 05:04:07
【问题描述】:
我无法将新记录保存到 mongoDB。我很确定我在我的代码中使用了一些我不完全理解的东西,我希望有人能提供帮助。
我正在尝试为每只猫将新记录保存到 mongoDB。此代码适用于 node.js
for(var x = 0; x < (cats.length - 1); x++){
if (!blocked){
console.log("x = "+x);
var memberMessage = new Message();
memberMessage.message = message.message;
memberMessage.recipient = room[x].userId;
memberMessage.save(function(err){
if (err) console.log(err);
console.log(memberMessage + " saved for "+cats[x].name);
});
}
});
}
我在循环之前记录了“cats”的值,我确实得到了我期望的所有名称,所以我认为循环遍历数组会为每个循环存储一条新记录。
似乎发生的事情是,当我查看数据库时,它似乎只保存了每个循环周期的最后一条记录。我不知道它是如何/为什么会这样做的。
感谢您对此提供任何帮助,因为我是 node.js 和 mongoDB 的新手。
谢谢。
【问题讨论】:
-
使用 foreach ,这样可以正常工作
标签: javascript arrays node.js mongodb loops