如何填充嵌入式文档的字段?
How to populate field of an embedded document?
我有一个 OrderSchema,其中包含作为嵌入式模式的“发票”。我想从嵌套模式填充一个字段(“系列”)。
架构如下所示:
const OrderSchema = new Schema({
success: {
type: Boolean,
},
invoice: {
type: new Schema({
series: {
// NEEDS TO POPULATE
type: Schema.Types.ObjectId,
ref: "Series",
required: true,
},
number: {
type: Number,
required: true,
},
}, {
_id: false,
timestamps: false
}),
required: true,
},
});
在这里,我需要填充路径“invoice.series”。我怎样才能做到这一点?
你可以这样填充它
OrderModel.find(query)
.populate({
path: 'invoice',
populate: {
path: 'series',
}
})
.exec(function(err, docs) {});
或者您可以选择这样做...
OrderModel.find(query)
.populate("invoice.series")
.exec(function(err, docs) {});
我有一个 OrderSchema,其中包含作为嵌入式模式的“发票”。我想从嵌套模式填充一个字段(“系列”)。
架构如下所示:
const OrderSchema = new Schema({
success: {
type: Boolean,
},
invoice: {
type: new Schema({
series: {
// NEEDS TO POPULATE
type: Schema.Types.ObjectId,
ref: "Series",
required: true,
},
number: {
type: Number,
required: true,
},
}, {
_id: false,
timestamps: false
}),
required: true,
},
});
在这里,我需要填充路径“invoice.series”。我怎样才能做到这一点?
你可以这样填充它
OrderModel.find(query)
.populate({
path: 'invoice',
populate: {
path: 'series',
}
})
.exec(function(err, docs) {});
或者您可以选择这样做...
OrderModel.find(query)
.populate("invoice.series")
.exec(function(err, docs) {});