Estoy tratando de encontrar la publicación por id y agregarle un comentario.
Estoy usando postgreSQL.
Aquí está mi modelo
const Sequelize = require('sequelize') const db = require('../../config/database') const Posts =db.define("Topics",{ id: { type: Sequelize.INTEGER, primaryKey: true, autoIncrement: true }, title : { type : Sequelize.STRING, }, description : { type: Sequelize.STRING }, username : { type: Sequelize.STRING }, comment : { type:Sequelize.ARRAY(Sequelize.STRING), defaultValue : [], allowNull: false } }) module.exports = Posts;Aquí está mi solicitud de nodeJS.
app.put('/addComment/:id', (req, res) => { Posts.update({ comment: req.body.comment }, { where: { id: req.params.id } }).then((post) => { res.send(post) }).catch((err) => { console.log("err", err); }); }) Estoy probando mi servidor usando cartero, pero cada vez que intento enviar datos actualizados a la base de datos, siempre recibo este error err TypeError: values.map is not a function .
¿Alguna sugerencia sobre cómo solucionar esto, por favor? También en mi tipo de datos DB para la matriz de comentarios hay text[] También intenté cambiar la update para create pero sin resultados
ha definido un comentario en el modelo de tipo Matriz de cadenas, pero mientras actualiza está pasando directamente la cadena única, pase el formato de matriz
Posts.update({ comment: [req.body.comment] // note the square brackets for array }, { where: { id: req.params.id } }).then((post) => { res.send(post) }).catch((err) => { console.log("err", err); });Solucioné el problema cambiando req.body.comment a [req.body.comment] .
verifique su req.body.comment y envíelo como matriz
req.body.comment = ['test']