Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

175
Vistas
req.body no está definido: solo se envía la identificación predeterminada de mongodb

He estado tratando de usar la solicitud posterior para insertar datos en mongodb usando mongoose, sin embargo, veo que req.body se muestra como indefinido. el documento se inserta en la base de datos, sin embargo, solo se inserta la identificación del objeto predeterminado.

Así es como envío la solicitud al cartero

{ nombre:"wewe", precio:43}

 //Post.js const mongoose = require('mongoose'); mongoose.connect("mongodb://localhost/tutorialkart"); const productSchema = mongoose.Schema({ name: String, price: Number }); module.exports = mongoose.model('Groduct', productSchema); //app.js var express = require('express') var bodyParser = require('body-parser') var Post = require('./Post') var app = express() app.use(bodyParser.json()) app.post('/api/posts', function (req, res, next) { var post = new Post({ name: req.body.name, price: req.body.price }) console.log("Log "+post.name ); post.save(function (err, post) { if (err) { return next(err) } res.json(201, post) }) }) app.listen(3000, function () { console.log('Server listening on', 3000) })

MongoDB

about 4 years ago · Juan Pablo Isaza
3 Respuestas
Responde la pregunta

0

Hay dos problemas con su solicitud en Postman (eliminó la captura de pantalla que mostraba estos problemas):

  • no está formateado como JSON adecuado, sino como un objeto Javascript
  • lo estás enviando como text/plain , no application/json
about 4 years ago · Juan Pablo Isaza Denunciar

0

Así es como envío la solicitud al cartero

{ nombre:"wewe", precio:43}

Una de dos cosas está sucediendo:

  • O no está configurando un encabezado Content-Type en la solicitud para que el middleware de análisis JSON que configuró no se active o
  • Tiene, pero como su JSON no es válido, no puede analizarlo.

¡Tienes que escribir JSON válido!

Puede probar su JSON con JSON Lint .

En particular, los nombres de propiedad en JSON deben ser cadenas y no pueden ser identificadores. Las cadenas en JSON deben estar delimitadas con " caracteres.

about 4 years ago · Juan Pablo Isaza Denunciar

0

Su captura de pantalla no está visible/problemas para abrir la captura de pantalla. Tienes que ser más específico con tu pregunta.

  1. Creo mongoose.connect("mongodb://localhost/tutorialkart"); aquí debe especificar el PUERTO localhost: 27017

  2. Asegúrese de definir los nombres "nombre" y "precio" en su HTML/EJS y establecer su valor como los datos que está tratando de insertar en la base de datos.

  3. Usar nuevo antes de mongoose.model, mongoose.Schema

  4. app.use(bodyParser.json()) debe ser app.use(bodyParser.urlencoded({ extended: true }));

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda