节点/快递未将更新的公司信息保存到数据库
Node/Express not saving updated company information to DB
我是Node/Express的新手,并试图实现这个更新公司信息的块。我有许多console.log
语句跟踪整个块中的变量,直到最后保存行,一切似乎都工作得很好。我到底做错了什么?
// Edit company metric information
editMetrics: function(link, form, cb) {
Companies.findOne({ permalink: link }, function (err, company) {
if (err) return done(err);
// Iterate through form fields
for(var field in form) {
console.log(field); // Looks great
if(typeof(company.operational[field]) !== 'undefined') {
company.operational[field].unshift({
timestamp: new Date(),
value: form[field]
});
}
if(typeof(company.user_metrics[field]) !== 'undefined') {
company.user_metrics[field].unshift({
timestamp: new Date(),
value: form[field]
});
}
if(typeof(company.economics[field]) !== 'undefined') {
company.economics[field].unshift({
timestamp: new Date(),
value: form[field]
});
}
}
console.log(company); // Looks great
// Save & redirect to updated profile
company.save(cb()); // For some reason this isn't saving
});
},
回调:CompanyModel.editMetrics(link, req.body, cb = function(error, result) {
res.redirect('/portfolio/' + link);
});
问题出在最后一行:
company.save(cb());
company.save(cb);
基本上你正在执行回调并将结果传递给save函数,当你需要将函数指针传递给save函数时。
还要确保您的回调签名匹配function(error, result)
的节点约定,以便获得您期望的结果值。
相关文章:
- 访问布局信息是否也会导致浏览器重排
- 定义完全独立的样式信息
- 使用html2canvas获取基本信息
- JS表单提交"无法使用Chrome数据保护程序加载此页面.尝试重新加载页面.调试信息:POST CISmtuK
- 从信息框调用弹出图像库
- 如何在不传递此信息的情况下查找被调用的元素
- 将谷歌自动完成地址信息放在页面上,而不是表格中
- 如何通过解析类信息来使用jQuery创建类
- 包含数据库中相关信息的开放模态
- 单击按钮即可在浏览器的新选项卡中打开 Sapui5 详细信息页面
- 如何调整信息窗口的大小并点击按钮?+更改信息窗口的内容
- ng在更新$scope后重复不更新信息
- 谷歌地图点击潜水触发信息窗口
- 根据CHECKBOX输入值动态更新DIV信息
- 如何使用ember.js在操作中传递当前上下文中目标旁边的信息
- 如何使用PHP / CURL / Javascript等从 mca.gov.in 获取公司详细信息
- freebase如何提取所有公司的详细信息
- 节点/快递未将更新的公司信息保存到数据库
- 如何使用IN.API.Profile("me")获取公司详细信息Javascript API调用
- 如何删除谷歌地图公司信息