Сохраните файл.путь в пользователе с помощью mongodb и multer

#node.js #mongodb

Вопрос:

Мне нужно связать изображение с пользователем с помощью файла.путь в мультере, но он просто не сохраняет фотографию вот мой код:

 router.post('/register',upload.single('profilepic'), async (req, res) =gt;{  const {email} = req.body   try{  if(req.file != undefined){  const post = await Post.create({  name: req.file.originalname,  size: req.file.size,  key: req.file.filename,  photo: req.file.path,  url: ''  })  console.log(req.file)  //console.log(req.body)      if (await User.findOne({ email }))  return res.status(400).send({error: 'User already exists'})      const user = await User.create(req.body)  user.password = undefined  user.photo = req.file.path  return res.send({  user,  token: generateToken({ id: user.id})  })  

Как вы можете видеть, я передаю user.photo как req.file.путь, но он на самом деле не сохраняет его, он возвращает мне путь, который я загружаю, но он не сохраняет, вот моя модель пользователя:

 const UserScheme = new mongoose.Schema({    title:{  type: String,  required: true,   },    description:{  type: String,  required: false  },  email:{  type: String,  unique :true,  required: true,  lowercase: true  },  photo:{  type:String,  required: false,  select:true  },    password:{  type :String,  required: true,  select:false  },  passwordResetToken:{  type: String,  select: false   },  passwordResetExpires:{  type: Date,  select: false  },  createdAt:{  type: Date,  default: Date.now,  }, })  

Ответ №1:

Вам нужно добавить фотографию перед созданием пользовательского лайка

 req.body.photo = req.file.path; const user = await User.create(req.body); user.password = undefined return res.send({  user,  token: generateToken({ id: user.id}) // user.id or user._id ? })  

Комментарии:

1. это сработало, спасибо, приятель