Home > Enterprise >  mongoose population (refs) is not working
mongoose population (refs) is not working

Time:01-01

I have created two models where I am trying to ref one model to another but it's not working and I don't have any idea about it I used it exactly the same way as in the mongoose example but it is not helping, the only difference between my working and their example is I have two different files for both models and I am exporting them to use in another file

The example I took reference from Mongoose

First Model

const userModel = require('./userModel')
const {Schema} = mongoose

const tweet = new Schema({
    date: {
        type: Date,
        required: true,
    },
    msg:{
        type: String,
        maxlength:140,
        required:true
    },
    tweetid:{
        type: mongoose.Types.ObjectId
    }
})

const tweetSchema = new Schema({
    user: {
        type: Schema.Types.ObjectId,
        ref: 'userModel'
    },
    tweets: {
        type: [{tweet}],
        default: []
    }
})

const tweetModel = mongoose.model('tweet',tweetSchema)

module.exports = tweetModel

Second Model

const {Schema} = mongoose

const userSchema = new Schema({
    email: {
        type:String,
        required: true,
        unique: true,
        trim:true
    },
    password: {
        type:String,
        required: true,
        trim:true
    },
    follows: {
        type: [String],
        default: []
    }
})

const userModel = mongoose.model("User",userSchema) 

module.exports = userModel

CodePudding user response:

Your reference string should be equal to the model name that you have passed to mongoose.model:

const tweetSchema = new Schema({
    user: {
        type: Schema.Types.ObjectId,
        ref: 'User'
    },
    tweets: {
        type: [{tweet}],
        default: []
    }
})
  • Related