1const mongoose = require("mongoose");
2const Schema = mongoose.Schema;
3//product model is not imported in orders model
4const orderSchema = new Schema(
5 {
6 // _id : mongoose.Schema.Types.ObjectId,
7 product: {
8 type: mongoose.Schema.Types.ObjectId,
9 ref: "products",//not Product
10 required: [true, "product id is required"],
11 },
12 quantity: { type: Number, default: 1, min: 1 },
13 },
14 { versionKey: false, timestamps: true }
15);
16
17module.exports = mongoose.model("orders", orderSchema);
18
19// in Orders route, no import of product is required
20const orders = require("../models/orders");
21const products = require("../models/products");
22
23orders.find()
24 .select("quantity product _id")
25 .populate({ path: 'product', model: 'products' })
26 .exce().then().catch()
27
1const mongoose = require("mongoose");
2const Schema = mongoose.Schema;
3const products = require("../models/products");
4//products model is imported
5const orderSchema = new Schema(
6 {
7 // _id : mongoose.Schema.Types.ObjectId,
8 product: {
9 type: mongoose.Schema.Types.ObjectId,
10 ref: products, //not "products"
11 required: [true, "product id is required"],
12 },
13 quantity: { type: Number, default: 1, min: 1 },
14 },
15 { versionKey: false, timestamps: true }
16);
17
18module.exports = mongoose.model("orders", orderSchema);
19
20// in Orders route, no import of product is required
21const orders = require("../models/orders");
22orders.find()
23 .select("quantity product _id")
24 .populate("product", "name price")
25 .exce().then().catch()