2016-11-23 2 views
0

Je suis un débutant à ExpressJs et NodeJS. J'essaie d'aller chercher mon schéma userInformation to Appointment. Comment accéder à mon schéma utilisateur à partir du schéma de rendez-vous? Je suis tout à fait sûr que nous devrons utiliser remplir, mais je ne suis pas au courant de la façon de l'utiliserAcess Information utilisateur du schéma de rendez-vous

Rendez-vous du schéma

var appointmentSchema = mongoose.Schema({ 
    userId: String, 
    visitType : String, 
    timeDuration : String, 
    startTime : Date, 
    endTime : Date, 
    status : String 

    }); 

Schéma utilisateur:

var userSchema = mongoose.Schema({ 
    _id : String, 
    prefix : String, 
    firstName : String, 
    middleName : String, 
    lastName : String, 
    dob : String, 
    age : Number, 
    gender : String 
}); 

Merci à l'avance

Répondre

0

Eh bien, je suppose que les noms de ces DEUX schémas ci-dessus sont Appointment et User r espectively, jusqu'à présent il n'y a rien concerne les schémas les uns aux autres, donc:

La première chose: Vous devez mentionner que userId attribut dans Appointment schéma fait référence à User schéma comme suit:

userId: { type: mongoose.Schema.Types.ObjectId, ref: 'User' }, 

au lieu de:

userId: String, 

Deuxième chose: En essayant d'aller chercher votre Userinformation de Appointment schema, votre requête sera:

Appointment 
    .find({ /* whatever your filters options */ }) 
    .populate('userId') 
    .exec() 

En savoir plus sur population mangouste: http://mongoosejs.com/docs/populate.html

+0

Faut-il pas ajouter _id: {type : mongoose.Schema.Types.ObjectId, ref: 'Appoinment'}, dans le schéma utilisateur également. @Basim Hennawi – Vignesh

+0

Quelle est la relation entre 'User' et' Appointment'? 1: 1? 1: N? De plus, à quoi fait référence l'attribut '_id' dans le schéma de l'utilisateur? userId ou rendez-vous? –

+0

1: N et _id de l'utilisateur est l'ID utilisateur dans le schéma de rendez-vous. – Vignesh