【发布时间】:2020-09-07 05:41:45
【问题描述】:
我正在尝试根据orders products id 获取products 数据,以下是我的Order 模型
import mongoose from 'mongoose';
const { ObjectId, String, Number } = mongoose.Schema.Types;
const OrderSchema = new mongoose.Schema({
user: {
type: ObjectId,
ref: "User"
},
products: [
{
quantity: {
type: Number,
default: 1
},
product: {
type: ObjectId,
ref: "Product"
}
}
],
email: {
type: String,
required: true
},
total: {
type: Number,
required: true
},
status: {
type: String,
required: true,
default: 'pending',
enum: ["pending", "delivered"]
}
},{
timestamps: true
});
export default mongoose.models.Order || mongoose.model("Order", OrderSchema);
产品型号:
import mongoose from 'mongoose';
const { String, Number } = mongoose.Schema.Types;
const ProductSchema = new mongoose.Schema({
name: {
type: String,
required: true
},
price: {
type: Number,
required: true
},
productType: {
type: String,
required: true
},
sku: {
type: String,
unique: true
},
description: {
type: String,
required: true
},
mediaUrl: {
type: String,
required: true
}
},{
timestamps: true
});
export default mongoose.models.Product || mongoose.model('Product', ProductSchema);
所有订单的查询如下:
const orders = await Order.find()
.sort({ createdAt: 'desc' })
.populate({
path: "products.product",
model: "Product"
});
// console.log(orders)
res.status(200).json({ orders });
这个概念是在创建订单时使用产品 ID 创建的,我想根据订单产品 ID 获取产品。
这样就显示出来了
MongooseError [MissingSchemaError]:尚未为模型“产品”注册架构。
我该如何解决?
谢谢
【问题讨论】:
-
您的
Product架构和模型在哪里? -
@whoami 用产品模型更新了问题。你能查一下吗?
-
这能回答你的问题吗? stackoverflow.com/questions/20832126/…
标签: javascript node.js mongodb express