来自约会架构的访问用户信息

时间:2016-11-23 07:53:29

标签: mongoose mongoose-populate

我是ExpressJs和NodeJS的新手。我试图将我的userInformation提取到约会架构。如何从约会架构访问我的用户架构?我很确定我们必须使用populate,但我不知道如何使用它

约会架构

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

  });

用户架构:

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

提前致谢

1 个答案:

答案 0 :(得分:0)

好吧,我假设上面那些 TWO 模式的名称分别是AppointmentUser,到目前为止,这些模式与每个模式都没有任何关联其他,所以:

第一件事 :您需要提及userId架构中的Appointment属性是指User架构,如下所示:< / p>

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

而不是:

userId: String,

第二件事 :在尝试从Appointment schema抓取您的用户信息时,您的查询将是:

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

详细了解猫鼬人口http://mongoosejs.com/docs/populate.html