如何在猫鼬Node js中构建多对多关系



场景如下:

一个product可以多orders一个order可以有很多products。如何使用mongoosenode.js构建多对多关系?

我在下面给出了产品型号。但是,我不确定订单模型应该如何。有人可以帮我解决这个问题吗?我是Node/猫鼬的新手,希望有人能帮助我解决这个问题。

法典

var mongoose = require('mongoose');
var productSchema = mongoose.Schema({
    product:{
        type: String,
        unique: true,
        required: true
    },
    price:{
        type: String,
        required: true
    },
    create_date:{
        type: Date,
        deault: Date.now
    }
});

这是我的产品型号

var mongoose = require('mongoose');
Schema = mongoose.Schema;
var productSchema = mongoose.Schema({
    product:{
        type: String,
        unique: true,
        required: true
    },
    price:{
        type: String,
        required: true
    },
    create_date:{
        type: Date,
        deault: Date.now
    }
});
var Product = mongoose.model('Product', productSchema);
module.exports = product;

此订单模型

var mongoose = require('mongoose');
    Schema = mongoose.Schema;
    var orderSchema = mongoose.Schema({
        orderNumber:{
            type: Number,
            required: true
        },
        products:[{type:Schema.Types.ObjectId, ref:'Product'}]
        create_date:{
            type: Date,
            deault: Date.now
        }
    });
    var Order = mongoose.model('Order', orderSchema);
module.exports = Order;

我的 JSON 结果像这样

产品:

{
    _id:1
    product:"test",
    price:100,
    create_date:"20/11/91"
}

次序:

{
    orderNumber:123
    product: [1] (ref of product id)
    create_date:"20/11/91"
}

最新更新