我正在尝试获取约会并使用用户详细信息和医生详细信息填充它们。我有这样的架构
stdout_logfile_maxbytes=1024
stdout_logfile_backups=5
stderr_logfile_maxbytes=1024
stderr_logfile_backups=5
正在运行
let appointmentSchema = new Schema({
reason: String,
start: DateType,
end: DateType,
appointmentStamp: Number,
userId: {
type: ObjectId,
ref: 'User'
},
doctorId: {
type: ObjectId,
ref: 'Doctor'
},
approved: Boolean,
held: Boolean,
timeOfAcceptance: Number,
createdOn: { type: Number, default: (new Date().getTime()) },
updatedAt: Mixed
}, {runSettersOnQuery: true})
我得到一个空数组 但 Appointment.find({userId:authId})。exec() 使用find中提供的userId返回该用户的所有约会 我错过了什么
以下是预约示例
Appointment.find({userId: authId}).populate('userId doctorId').exec()
答案 0 :(得分:0)
我试过这个并且它有效,不知道为什么
patient: {
type: String,
ref: 'patient'
},
doctor: {
type: String,
ref: 'doctor'
}
而不是ObjectId我使用了String类型 然后查询就像
Appointment.find({patient: authId, canceled: false})
.populate('patient doctor').exec()