为了账号安全,请及时绑定邮箱和手机立即绑定

获取 Node.js 和 MongoDB 上基于父数据的引用 ID

获取 Node.js 和 MongoDB 上基于父数据的引用 ID

慕田峪4524236 2022-08-27 14:06:05
我正在尝试根据id获取数据,以下是我的模型productsorders productsOrderimport 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”。我该如何解决这个问题?
查看完整描述

1 回答

?
白猪掌柜的

TA贡献1893条经验 获得超10个赞

在模型中,您可能会导入模型,然后在您使用而无需报价OrderProductref

ref: Product

这就是我的想法。

谢谢


查看完整回答
反对 回复 2022-08-27
  • 1 回答
  • 0 关注
  • 103 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信