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

131
Views
MongoDB no inserta documento anidado

Así que estoy tratando de insertar un documento anidado aquí. books contiene varios libros pero no inserta un título, solo _id generado automáticamente.

aquí está mi código insertando un dato:

 "firstName": "Jay Rhick", "lastName": "Villareal", "country": "Philippines", "citizenship": "Filipino", "books": [{ "book": "Harry Pota" }]

y aquí está la salida:

 { "_id": "6053fc2f33325b35305ee764", "firstName": "Jay Rhick", "lastName": "Villareal", "country": "Philippines", "citizenship": "Filipino", "books": [ { "_id": "6053fc2f33325b35305ee765" } ], "__v": 0

Aquí está mi esquema:

 const mongoose = require('mongoose') const BookSchema = require('./BookSchema').schema const PostSchema = mongoose.Schema({ firstName: String, lastName: String, citizenship: String, country: String, books: [BookSchema] }) module.exports = mongoose.model('PostSchema', PostSchema)

aquí está el esquema de mi libro

 const mongoose = require('mongoose') const BookSchema = mongoose.Schema({ book: String }) module.exports = mongoose.model('BookSchema', BookSchema)

y aquí están mis rutas expresas

 const express = require('express') const router = express.Router() const Post = require('../models/Post') router.post('/', async (req, res) => { const post = new Post({ firstName: req.body.firstName, lastName: req.body.lastName, country: req.body.country, citizenship: req.body.citizenship, books: [{ book: req.body.book }] }) try{ const savedPost = await post.save() res.json(savedPost) }catch(err){ res.json({ message: err }) } }) module.exports = router
over 4 years ago · Santiago Trujillo
2 answers
Answer question

0

Dado que es un esquema anidado, es posible que no devuelva el objeto completo, solo el _id. ¿Puedes ver el libro con el título en tu colección? Si está en la colección, querrá echar un vistazo a la función .populate() en mongoose.

aquí hay una pregunta similar de stackoverflow: Rellenar matriz anidada en mangosta

over 4 years ago · Santiago Trujillo Report

0

¡Resolví mi problema gracias a asg86260! Así que he cambiado mi código de:

 books: [{ book: req.body.book }]

a los books: req.body.books

over 4 years ago · Santiago Trujillo 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!