J'ai décidé d'utiliser la route S3 pour stocker des images au lieu de le faire avec Gridfs. Mais je suis toujours confus quant à la façon dont MongoDB s'intégrera avec Multer et S3. Par exemple, disons que j'ai une collection de documents pour chaque utilisateur. Par exemple, disons que j'ai une collection de documents pour chaque utilisateur. Il est supposé que les documents eux-mêmes ne contiendront pas les images de profil qui seront téléchargées sur mon nuage S3.Comment intégrer Multer et Multer-S3 avec MongoDB?
Mais lorsque j'affiche une liste d'utilisateurs dans le frontal, comment puis-je m'assurer que l'image de profil correcte est affichée pour chaque utilisateur?
Je regarde la documentation de multer-s3, et je remarque que les métadonnées définissent le nom du fichier qui doit être téléchargé vers S3 (je pense?).
var upload = multer({
storage: multerS3({
s3: s3,
bucket: 'some-bucket',
metadata: function (req, file, cb) {
cb(null, {fieldName: file.fieldname});
},
key: function (req, file, cb) {
cb(null, Date.now().toString())
}
})
})
Je pense peut-être une bonne solution à ce problème serait le nom de chaque fichier téléchargé comme le même nom que l'utilisateur qui l'utilisera. Est-ce que je peux bricoler avec les métadonnées et les fonctions clés de sorte qu'elles soient le même nom que le nom d'utilisateur de celui qui les télécharge? Que fait exactement cb
et que représentent chacun de ces paramètres?