Tengo una matriz de cadenas que quiero guardar en Mongodb en Node/express, está guardando una matriz vacía en Mongodb
const multiImagesSchema = mongoose.Schema({ names:Array }) import ImgArray from '../../Model/multiImages.js' let imgNames = req.files.map(imgName=>{ return imgName.originalname }) // console,log(imgNames) //result in console: ['Apple,png', 'Grapes.png','Ornage.png','Banana.png'] const imageArray = new ImgArray(imgNames) await imageArray.save()Debe pasar el objeto con propiedades definidas en el modelo de esquema a la función de creación (en su caso, el objeto con la propiedad de names ). Está pasando la matriz imgNames . Cambia tu código así:
await ImgArray.create({ names: imgNames });su modelo debe tener un campo que acepte una matriz como esta:
const ImgArraySchema = mongoose.Schema({ names: [{ type: String, required: true }] })luego, para guardar una matriz, hazlo así:
const imageArray = new ImgArray({names: imgNames}) const imgarray = await imageArray.save() .catch((err) => (res.status(500).send({err: err.message}))) if (imgarray) { return res.status(200).send({success: true, imgarray}) } return res.status(400).send({success: false, error: ""})