使用 Mongoose 在 Schema 的某些字段中上传图像数组时如何删除某些不需要的响应?

How to remove certain unwanted response while uploading array of images in certain field of Schema using Mongoose?

这是 Api 用于存储 images.While 存储图像 我只想将路径名存储在数据库中而不是字段名、大小等 下面是我得到的回复。我只需要在获取时将路径存储在 Db.Also 中,我得到的响应是没有用的。只有图像名称或路径名称就足够了。

 const createStore = async (req,res,next) => {
            var id = req.params.tempid;
            var tempDetail = await Template.findById({_id:id})
        
            console.log("create store runnin,,,,,,,,")
           
            var store={
                "store_id":req.body.store_id,
                "store_name":req.body.store_name,
                "context": req.body.context,
                "display_image": req.body.display_image,
                "DisplayImage":req.files.DisplayImage,
                "DisplayLogo":req.files.DisplayLogo   
            }
            console.log("before store save")
            console.log(store)
            
            try{
              await Template.updateOne(
                { _id : id },
                { $push: { store:store }} 
            )

响应 -

 {
      store_id: '1',
      store_name: 'sample',
      context: 'dmstore',
      display_image: 'chings',
      DisplayImage: [
        {
          fieldname: 'DisplayImage',
          originalname: '12345610.jpg',
          encoding: '7bit',
          mimetype: 'image/jpeg',
          destination: './template-store/temporaryImage',
          filename: '12345610.jpg',
          path: 'template-store\temporaryImage\12345610.jpg',
          size: 39955
        },
       ]

Blockquote

您可以遍历每张图像并只获取路径而不是整个对象

var store={
  "store_id":req.body.store_id,
  "store_name":req.body.store_name,
  "context": req.body.context,
  "display_image": req.body.display_image,
  "DisplayImage":req.files.DisplayImage.map(image => image.path),
  "DisplayLogo":req.files.DisplayLogo   
}