Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 使用multer在mongodb中保存多个文件_Node.js_Mongodb_Express_Multer - Fatal编程技术网

Node.js 使用multer在mongodb中保存多个文件

Node.js 使用multer在mongodb中保存多个文件,node.js,mongodb,express,multer,Node.js,Mongodb,Express,Multer,我正在创建一个p2p电子商务平台,我需要帮助保存图像,目前我基本上有两个问题。 1.)我的第一个问题是保存图像。。。假设我有一个猫鼬产品模型,如下所示: title: { type: String, required: true }, subtitle: { type: String }, productImage: [ { imageUrl: { type: String, required: true

我正在创建一个p2p电子商务平台,我需要帮助保存图像,目前我基本上有两个问题。 1.)我的第一个问题是保存图像。。。假设我有一个猫鼬产品模型,如下所示:

title: {
    type: String,
    required: true
  },
  subtitle: {
    type: String
  },
  productImage: [
    {
      imageUrl: {
        type: String,
        required: true
      }
    }
  ],
  details: {
    modelNumber: {
      type: String
    }
现在我想将多个图像保存到一个产品中,以便以后可以使用旋转木马,因此我遇到了一个问题,我不知道如何执行此操作,我目前已经编写了此代码来保存图像

const storage = multer.diskStorage({
  destination: function (req, file, cb) {
    const dir = './uploads';

    // create uploads
    if (!fs.existsSync(dir)) {
      fs.mkdirSync(dir);
    }

    cb(null, dir);
  },
  filename: function (req, file, cb) {
    cb(null, file.originalname + '-' + Date.now());
  }
});

let upload = multer({
  storage,
  limits: {
    fileSize: 1024 * 1024 * 10
  },
  fileFilter
}).array('productImage', 4);

router.post("/products", auth, uploads,  async(req, res) =>{

try{

const product = new Product({

title: req.body.title,
subtitle: req.body.subtitle,
productImage: [{imageUrl: req.file.path}],
blah blah
})

}catch{
blah blah
}

})
基本上,我认为我为一个产品保存多个文件的做法是错误的,所以我想知道这可以做得更好,或者我是否应该重新构建我的模型或任何其他解决方案

2.)我有一个问题,因为我正在使用express validator检查我的字段。当我以表单数据发送请求时,即使字段中填充了正确的数据,字段上也会出现错误。。。有什么我可以纠正的吗


谢谢您…我们非常需要任何帮助

将变量上载更改为上载。您确定这是问题所在吗?这是其中之一。您正在调用一个不存在的变量
router.post(“/products”,auth,uploads,…
将变量upload更改为uploads。您确定这是问题吗?这是其中之一。您正在调用一个不存在的变量。
router.post(“/products”,auth,uploads,…