我有一个数组形式的嵌套子模式,在此子模式数组中,我引用了Image类型的对象ID(请参见图像模式)。 我想要的是用图像本身的数据填充此对象ID。 恢复要填充子模式文档中的字段的需求。 我尝试了许多解决方案,但没有成功,不知道该如何实现? 谢谢
我有以下3种模式:
const deviceSchema = mongoose.Schema({
_id: mongoose.Schema.Types.ObjectId,
name: {
type: String,
required: true,
},
os: {
type: String,
required: true,
},
},
images:[assignedImagesSchema]
});
const assignedImagesSchema = new mongoose.Schema({
id: {type: mongoose.Schema.Types.ObjectId, ref:"Image"},
isVisible: {
type: Boolean,
default: true
},
visibleFor: {
type: Number,
default: 0
},
orderIndex: {
type: Number,
}
});
const imageSchema = mongoose.Schema({
_id: mongoose.Schema.Types.ObjectId,
url:{
type: String,
required: true,
},
orientation: {
type: String,
required: true,
},
devices: [{type: mongoose.Schema.Types.ObjectId, ref:'Device' }]
答案 0 :(得分:0)
您只需在 assignedImageSchema 中添加一个将imageSchema作为对象的新字段。例如:
const assignedImagesSchema =
new mongoose.Schema({
image: { type: imageSchema } ,
isVisible: { type: Boolean, default: true },
visibleFor: { type: Number, default: 0 },
orderIndex: { type: Number, } });