保存图像 MongoDB 节点 JS



schema

 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"
]

我的猜测是req.body.images是字符串化的。我相信它是一个包含许多值的字符串,而不是一个数组。当您将其发布到MongoDB时,由于您指定images必须是数组,因此它会将其保存为分层值数组。

所以,盲目猜测,但我相信你正在发布(客户端(类似的东西:

$.post("/save", { images : JSON.stringify(imagesArray) } )

什么时候你应该按原样发布你的数组:

$.post("/save", { images : imagesArray} )

但很难确定,因为我们没有前端代码,甚至没有console.log(req.body.images)

最新更新