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

190
Vistas
Después de insertar datos en mongodb, me muestra No se puede leer la propiedad '_id' de undefined

Código del lado del servidor

Aquí puede ver que este es mi código del lado del servidor y está debajo. He puesto mi código del lado del cliente y qué error se muestra. Y no puedo entender lo que está mal aquí

 app.post("/service", async (res, req) => { const newService = req.body; const result = await databaseCollection.insertOne(newService); res.send(result); });

Código del lado del cliente

 fetch("http://localhost:5000/service", { method: "POST", // or 'PUT' headers: { "Content-Type": "application/json", }, body: JSON.stringify(data), }) .then((response) => response.json()) .then((result) => { console.log("Success:", result); }) .catch((error) => { console.error("Error:", error); }); };

El error es

 (node:5388) UnhandledPromiseRejectionWarning: TypeError: Cannot read property '_id' of undefined at E:\htmll\Assignment_11\Server\myapp\node_modules\mongodb\lib\operations\common_functions.js:64:17 at Array.map (<anonymous>) at prepareDocs (E:\htmll\Assignment_11\Server\myapp\node_modules\mongodb\lib\operations\common_functions.js:63:17) at new InsertOneOperation (E:\htmll\Assignment_11\Server\myapp\node_modules\mongodb\lib\operations\insert.js:42:74) at Collection.insertOne (E:\htmll\Assignment_11\Server\myapp\node_modules\mongodb\lib\collection.js:149:64) at E:\htmll\Assignment_11\Server\myapp\index.js:37:47 at Layer.handle [as handle_request] (E:\htmll\Assignment_11\Server\myapp\node_modules\express\lib\router\layer.js:95:5) at next (E:\htmll\Assignment_11\Server\myapp\node_modules\express\lib\router\route.js:144:13) at Route.dispatch (E:\htmll\Assignment_11\Server\myapp\node_modules\express\lib\router\route.js:114:3) at Layer.handle [as handle_request] (E:\htmll\Assignment_11\Server\myapp\node_modules\express\lib\router\layer.js:95:5) (node:5388) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 2)
about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

app.post("/service", async (res, req) => { const result = await new databaseCollection(newService) await result.save() res.send(result); });

Prueba este método.

about 4 years ago · Juan Pablo Isaza Denunciar

0

puede usar el método save en lugar de insertOne primero para crear una instancia de su objeto agregando new databaseCollection(newService) . y después de eso llame al método save para insertar su colección

Use res.json en lugar de res.send para hacer que Content-Type sea del tipo JSON

Su código debería verse así:

 app.post("/service", async (res, req) => { const newService = req.body; try { const service= await new databaseCollection(newService); const savedService=await service.save() res.status(200).json(savedService); } catch (err) { res.status(500).json(err); } });
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