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

144
Views
MongoDB Problems while inserting nested data

I try to build a database for a giveaway bot using MongoDB. Once a new giveaway is created the bot runs the following code to write the new giveaway into the databank:

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()
}

Giveaways should be a nested document in the document with the server's information. My schemas for this looks like this:

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

In my Mongo Atlas I have 2 collections mainSchema und giveawaySchema. If I run this code I only get an entry under 'giveawaySchema' consisting of this:

_id: ObjectId(62b4f6374894fb3e7826ca72)
__v:0

I don't get any data in the mainSchema collection. Does anyone know what is the error? Thank you for your help in advance.

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

in your first code you don't have to put mongoose module between brackets (i don't know if it's okay) and you are importing giveawaySchema not mainSchema because you are overwriting it you should do this

// 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>')

and if you still have problem just tell me Good luck ...

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!