#mongodb #mongoose #mongodb-query #mongoose-schema #mongoose-populate
Вопрос:
Модель А выглядит так
{ a : {
step1: [{
type: { type: String },
category: { type: String },
}],
step2: [{
type: { type: String },
category: { type: String },
}]
} }
Модель B , которую я хотел создать, должна содержать опору, которая будет ссылаться на модель A. шаг 1 или шаг 2, пытаясь достичь этого, следуя
{ progress : [
{
step: {
type: Schema.Types.ObjectId,
ref: "A.a.{What should be here}",
required: true,
},
details: { type: Schema.Types.Mixed },
}
]
}
Ответ №1:
Я думаю, вам нужно создать схемы для всех из них 🙂
Я бы просто полностью разделил эти три — не уверен, что это жизнеспособно для вас, поскольку вся идея, стоящая за этим, немного загадочна, но сработает ли что-то подобное для вас?
const stepSchema = new Schema({
type: String,
category: String,
});
const Step = mongoose.model("steps", stepSchema);
const aSchema = new Schema({
step1: [stepSchema],
step2: [stepSchema],
});
const A = mongoose.model("as", aSchema);
const progressSchema = new Schema({
a: { type: aSchema, required: true, ref: "as"},
progress: [{ type: stepSchema, required: true, ref: "steps" }],
details: Schema.Types.Mixed,
});
const Progress = mongoose.model("progresses", aSchema);