-1
我正在尝试生成一个Data对象,我可以使用它在NodeJS中使用猫鼬在我的MongoDB数据库中创建新文档。如何在ForEach循环后保留对象变量更改。 Javascript
这是代码的片段:
console.log(RecipeData.ingredients);
RecipeData.spices.forEach(function(spice){
module.exports.findSpiceByName(spice, function(err, res){
if (err){
return callback(err);
}
RecipeData.ingredients.push(res._id);
return callback(null, RecipeData);
});
});
console.log(RecipeData.ingredients);
基本上,我有RecipeData是与几个属性的对象。在这种情况下主要是香料和配料。这两个都是字符串列表。
- 我要检查RecipeData.spice:
- 如果在列表中的一个元素(该元素将是香料的名字)
- 我想找到香料在我的香料集合关联到该名称及其_id添加到我的RecipeData.ingredients永久
- 如果在列表中的一个元素(该元素将是香料的名字)
这两个console.log都具有相同的输出时,他们不应该在我用来测试此代码的示例中。
任何想法为什么变量RecipeData.ingredients在ForEach循环之外没有改变?
感谢您提前提供任何帮助。
,实际上是千真万确的。这些'console.logs'运行在'findSpiceByName'之前。我怎样才能解决这个问题?虽然无论控制台日志,我敢肯定,变量并没有改变,因为我尝试了数据对象后添加到收藏的地方需要没有更新。 – Nedaaa
更新我的答案用的,因为同样的事情发生了保持你如何能得到解决此问题 –
这didnt相当帮助的例子。所以为了避免这个问题,我在集合已经在数据库中后改变了数据。这样,我可以在发生变化时直接更新数据库。尽管感谢您的帮助。 :) – Nedaaa