Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

188
Views
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 answers
Answer question

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 Report

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!