Всем привет.
Такой вопрос по MongoDB и Mongoose ORM
Есть вот такие две модели в Mongoose. В одной, есть саб-схема.
var mongoose = require('mongoose'),
Clinic = require('./clinic'),
Schema = mongoose.Schema;
var ClinicSchema = mongoose.Schema({
name: {
type: String,
trim: true,
required: true
},
procedures: [new Schema({
name: {
type: String,
trim: true,
required: true
},
alias: {
type: String,
trim: true,
required: true
},
time: {
type: Number
},
customTime: {
type: Number
}
}, {
ref: 'Clinic'
})]
});
module.exports = mongoose.model('Clinic', ClinicSchema);
var mongoose = require('mongoose'),
Patient = require('./patient'),
User = require('./user'),
Clinic = require('./clinic'),
Schema = mongoose.Schema;
var RecordSchema = Schema({
doctor: {
type: Schema.Types.ObjectId,
ref: 'User'
},
clinic: {
type: Schema.Types.ObjectId
},
date: {
type: Date,
default: new Date()
},
patient: {
type: Schema.Types.ObjectId,
ref: 'Patient'
},
procedures: {
type: Schema.Types.ObjectId
}
});
module.exports = mongoose.model('Record', RecordSchema);
Record хранит айдишники из всех таблиц. Через ref и populate, я получаю все связки, кроме процедур.
Это видимо из-за того что они записываться саб-схемой.
Вопрос в том, как мне из Record.procedures получить все записи по айдишникам из Clinic.procedure
Record.find().populate('doctor patient').populate('procedures')