Intento publicar un nuevo objeto en mi base de datos MySQL en React usando Sequelize y tengo esta ruta:
app.post("/event", checkAuthorization, async (req, res) => { let new_event = { title: req.body.title, description: req.body.description, label: req.body.label, day: req.body.day, user_id: req.body.user_id, }; let response = {}; Events.create(new_event) .then(() => { response.msg = 'Adaugat cu succes!'; response.added = 1; res.send(response); }) .catch((err) => { response.msg = err; response.added = 0; res.send(response); }); });Mi problema es: envío un objeto sin una identificación porque se incrementa automáticamente en mi base de datos y todo lo que quiero es después de publicar este objeto en la base de datos, para volver a la interfaz de la identificación del objeto creada por la base de datos y no sé cómo escribe eso
¿Puede alguien ayudarme, por favor?
Esto debería ayudarte:
Events.create(new_event) .then((event) => { response.id=event.id response.msg = 'Adaugat cu succes!'; response.added = 1; res.send(response); }) .catch((err) => { response.msg = err; response.added = 0; res.send(response); });obtendrá el objeto creado como un parámetro
Traté de usar:
Events.create(new_event) .then((event) => { console.log(event); response.msg = 'Adaugat cu succes!'; response.added = 1; res.send(response); }) .catch((err) => { response.msg = err; response.added = 0; res.send(response); });Y esta es la salida:
event { dataValues: { id: null, title: 't', description: 'dsada', label: 'green', day: 1645653600000, user_id: 2 }, _previousDataValues: { title: 't', description: 'dsada', label: 'green', day: 1645653600000, user_id: 2, id: null }, uniqno: 1, _changed: Set(0) {}, _options: { isNewRecord: true, _schema: null, _schemaDelimiter: '', attributes: undefined, include: undefined, raw: undefined, silent: undefined }, isNewRecord: false, null: 23 }Ese 'null: 23' es mi identificación y no sé por qué la base de datos me devuelve la identificación así... ¿Alguien puede explicarme?
Obtendrá fácilmente datos insertados por el usuario utilizando el siguiente código
const result = await Events.create(new_event); console.log(result.id);