【发布时间】:2020-06-10 04:57:06
【问题描述】:
这是我的产品架构。
const Products: Schema = new Schema({
storeId: {
type: mongoose.Schema.Types.ObjectId,
ref: 'store',
required: true
},
invoiceId: {
type: mongoose.Schema.Types.ObjectId,
ref: 'invoice'
},
unitPrice: { type: Number },
quantity: { type: Number },
}, { timestamps: true });
这是我的发票架构
const invoice: Schema = new Schema({
customer: { type: String, default: null },
netTotal: { type: Number },
paid: { type: Number },
type: { type: String },
}, { timestamps: true });
我想查找 invoiceId 文档中类型为“sale”的产品。因为 invoiceId 是包含发票详细信息的产品文档中的嵌入文档。
我尝试过填充,但它不起作用。
Products.find().populate({path : "invoiceId" , match : {type : "sale"} });
但它不起作用,并且所有文件都只是填充那些“销售”的 invoiceId。
我们将不胜感激。
【问题讨论】:
-
您确定您的
ref: 'invoice'正确吗?因为,通常它是复数形式,例如invoices。 -
是的,它是正确的。
-
您只是在使用 Mongoose 时遇到了问题,还是 mongodb 查询也有帮助?
-
您最好将示例文档和预期输出添加到问题中。
-
@AnujPancholi MongoDb 查询也会有所帮助。
标签: node.js database mongodb express mongoose