模式
images:{ type : Array , "default" : [] }
控制器
return new Promise(function(resolve,reject){
var dt = new Date(req.body.dateOfBirth)
var experiences = new Experiences({
'images': req.body.images
});
experiences.save(function(err,experiences){
if(err){
reject(err);
}else{
resolve(experiences);
}
});
});
我需要将多个图片保存到单个图片
中将数据发布为:
"https://images.pexels.com/photos/346768/pexels-photo-346768.jpeg?w=940&h=650&auto=compress&cs=tinysrgb","https://images.pexels.com/photos/287240/pexels-photo-287240.jpeg?w=940&h=650&auto=compress&cs=tinysrgb"
但是当我查看我的文档时。得到这样的结果:
"images" : [
"\"https://images.pexels.com/photos/346768/pexels-photo-346768.jpeg?w=940&h=650&auto=compress&cs=tinysrgb\",\"https://images.pexels.com/photos/287240/pexels-photo-287240.jpeg?w=940&h=650&auto=compress&cs=tinysrgb\""
]
我做错了什么请帮帮忙? 我想要的结果如下:
"images" : [
"https://images.pexels.com/photos/346768/pexels-photo-346768.jpeg?w=940&h=650&auto=compress&cs=tinysrgb","https://images.pexels.com/photos/287240/pexels-photo-287240.jpeg?w=940&h=650&auto=compress&cs=tinysrgb"
]
答案 0 :(得分:0)
我的猜测是req.body.images
是字符串化的。我相信它是一个包含许多值的字符串,而不是一个数组。当您将其发布到MongoDB时,由于您指定images
必须是数组,因此它将其保存为一组标记值。
所以,盲目猜测,但我相信你发布(客户端)类似的东西:
$.post("/save", { images : JSON.stringify(imagesArray) } )
当您应该按原样发布数组时:
$.post("/save", { images : imagesArray} )
但很难确定,因为我们没有前端代码,甚至没有console.log(req.body.images)