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

138
Vistas
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 Respuestas
Responde la pregunta

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 Denunciar

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 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