从约会模式访问用户信息

Acess User Information from Appointment Schema

我是 ExpressJs 和 NodeJS 的新手。我正在尝试将我的 userInformation 提取到约会模式。我将如何从约会模式访问我的用户模式?我很确定我们将不得不使用填充,但我不知道如何使用它

预约架构

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

提前致谢

好吧,我假设上面那些 TWO 的名称分别是 AppointmentUser,到目前为止没有任何相关的彼此之间的模式,所以:

第一件事:你需要提到 Appointment 模式中的 userId 属性指的是 User 架构如下:

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