更新图像时,它不会保存在数据库中
while updating image it is not saved in database
我正在使用Formidable和Node的fa-extra模块.js在MongoDB中存储文件。当我插入时它正在工作。但我没有得到如何使用强大的更新。
form.on('file',function(field, file){
var temp = file.path;
var fileName = file.name;
var fileName = file.name;
var location = 'images/';
var cpLocation = 'empDetails/images/';
empData.imgSize = file.size;*here empData is my instance of model*
empData.imgType = file.type;
empData.picFile = location+fileName; **picFile is my mongodb row name in collection**
fs.copy(temp,cpLocation+fileName ,function(err){
if(err)
{
console.log(err);
}
});
});
form.on('end',function(fields, files){
empData.save(function(err,resobj){
if(err)
{
throw err;
}
});
});
empData
是我的模型存储这些文件的对象。到目前为止没有问题。但是我不知道如何在MongoDB中更改映像和更新。我的更新查询如下。
exports.updateEmpData=function(req,res){
var temp = req.param('empID');
console.log(temp,'hjsdbjhdvbdhfvbdhbvj');
EmpDetail.findByIdAndUpdate({_id:temp},{$set:{"picFile":req.body.picFile},
function(err,obj){
if(err){
return err;
}
else{
res.json(obj);
}
});
};
你的findByIdAndUpdate方法看起来是错误的。正确的语法是:
Model.findByIdAndUpdate(id, updateObj, {new: true}, function(err, model)
因此,在您的情况下,语法将是:
EmpDetail.findByIdAndUpdate(temp,{$set:{"picFile":req.body.picFile},
function(err,obj){
if(err){
return err;
}
else{
res.json(obj);
}
});
参考: 链接
相关文章:
- Javascript-如何读取json文件中的列并将其保存在Javascript数组中
- 如果使用 lodash 将属性存在于另一个对象中,则向对象添加属性
- Jquery菜单操作不稳定,定位不正确,存在一般错误
- 如何将getJson的响应保存在全局变量中
- 按下按钮时保存cookie
- 如何使用 Angular JS 将数据保存在数据库中
- 如何使用Spring MVC将Facebook返回的响应数据保存在Java类中
- 子字符串/正则表达式以获取字符串中保存的 SRC 值
- 用于检查数组中是否存在元素的javascript自定义方法
- HTML5在画布中加载较小的图像并保存实际大小的图像
- 是否可以在浏览器中使用纯JavaScript保存音频流
- 如何将多个画布保存为一个图像
- 使用javascript/jquery从现有数组中创建一个新数组,该数组保存项目存在的次数
- jQuery localStorage 如果存在,请保存它
- 如何在移动到新的HTML页面后使用保存在Javascript文件中的保存变量
- 根据页面元素的存在更改文件路径以保存页面内容
- 如何比较保存在变量中的querystring参数,并将变量保存在cookie中,并在每页上进行比较
- 在Json解析和在数据库中保存值方面存在问题
- 将对象替换为保存前已经存在的对象
- 如何在Mongoose中保存之前检查数据库中是否存在嵌入文档