Estoy tratando de hacer una aplicación de tienda y he creado dos esquemas de mangosta. Order.js y Product.js, quiero hacer referencia al esquema del producto como una propiedad del esquema del pedido.
Orden.js
const mongoose = require('mongoose'); const Product=require('../models/product.js'); const orderSchema = new mongoose.Schema( { date: { type:Date, default: Date.now}, customerName: String, customerAddress: String, creditCard: Number, products:[] //product model }, { timestamps: true } );producto.js
const mongoose = require('mongoose'); const productSchema = new mongoose.Schema( { name: String, price: Number, category: String }, { timestamps: true } ); const Product = mongoose.model('Product', productSchema); module.exports= Product;Este es mi enfoque cuando se trata de esquemas anidados en mongoose: primero debe crear un objeto de su esquema de Producto, para evitar duplicar su modelo de Producto, puede crear un objeto:
producto
con sus campos, luego cree su esquema de Producto simplemente const Product = new Schema(product); , luego puede importar el objeto del producto aquí en su order.js y declarar su esquema de la siguiente manera:
import product; const Order = new Schema({ ...... ...... order : { type : product , ...... } })