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

142
Vistas
Problemas de MongoDB al insertar datos anidados

Trato de construir una base de datos para un bot de regalo usando MongoDB. Una vez que se crea un nuevo sorteo, el bot ejecuta el siguiente código para escribir el nuevo sorteo en el banco de datos:

 const {mongoose} = require("mongoose") const mainSchema = require('../models/mainSchema') module.exports = { async execute(interaction){ await new mainSchema ({ guild_id: 1234567890, giveaways: [{ identifier: 34, destination: 987654321, }], }).save() }

Los sorteos deben ser un documento anidado en el documento con la información del servidor. Mis esquemas para esto se ven así:

 const mongoose = require("mongoose"); const giveawaySchema = new mongoose.Schema({ identifier: String, destination: String, duration: String, price: String, }) const mainSchema = new mongoose.Schema({ guild_id: String, log_channel_id: String, twitterPreferncesType: String, twitterPreferncesFollowing: Boolean, giveaways: [giveawaySchema], }); module.exports = mongoose.model("mainSchema", mainSchema); module.exports = mongoose.model("giveawaySchema", giveawaySchema);

En mi Mongo Atlas tengo 2 colecciones mainSchema y giveawaySchema . Si ejecuto este código, solo obtengo una entrada en 'giveawaySchema' que consiste en esto:

 _id: ObjectId(62b4f6374894fb3e7826ca72) __v:0

No obtengo ningún dato en la colección mainSchema . ¿Alguien sabe cuál es el error? De forma anticipada, muchas gracias por su ayuda.

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

0

en su primer código no tiene que poner el módulo mongoose entre paréntesis (no sé si está bien) y está importando giveawaySchema no mainSchema porque lo está sobrescribiendo, debe hacer esto

 // module.exports = mongoose.model("mainSchema", mainSchema); // module.exports = mongoose.model("giveawaySchema", giveawaySchema); // Wrong you are overwriting on the exports // do this instead const MainSchema = mongoose.model("mainSchema", mainSchema); const GiveawaySchema = mongoose.model("giveawaySchema", giveawaySchema); module.exports = {MainSchema,GiveawaySchema} // and import it like this // const { MainSchema,GiveawaySchema} = require('./<pathOfTheFile>')

y si aun tienes problema solo dime Buena suerte...

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