我正在嘗試填充嵌套在物件陣列中的檔案,但似乎沒有任何效果。
我想填充此程式檔案中的鍛煉欄位。
這是程式檔案:
const ProgramSchema = new Schema({
user: { type: Schema.Types.ObjectId, ref: "User", required: true },
program: [
{
day: {
type: String,
required: true,
enum: [
"Sunday",
"Monday",
"Tuesday",
"Wednesday",
"Thursday",
"Friday",
"Saturday",
],
},
restDay: { type: Boolean },
workout: { type: Schema.Types.ObjectId, ref: "Workout" },
},
],
});
const Program = mongoose.model("Program", ProgramSchema);
這是鍛煉檔案:
const WorkoutSchema = new Schema({
user: { type: Schema.Types.ObjectId, ref: 'User', required: true },
trainingDayName: {
type: String,
enum: ['A', 'B', 'C', 'D', 'FB', 'aerobic'],
required: true,
},
name: { type: String, required: true },
description: { type: String },
exercises: [
{
muscles: [{ type: String }],
name: { type: String, required: true },
description: { type: String },
sets: { type: Number, required: true, min: 1, max: 7 },
reps: { type: Number, required: true, min: 1, max: 50 },
},
],
time: { type: Number, min: 10, max: 300 },
});
const Workout = mongoose.model('Workout', WorkoutSchema);
uj5u.com熱心網友回復:
原來解決方案是以下語法:
const program = (await Program.findOne({ user: userId })
.populate(
'program.workout'
)) as ProgramType;
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/351720.html
標籤:javascript 节点.js 打字稿 表达 猫鼬
