Javascript 如何使用Node js和Mongodb使产品属性随不同的产品而变化?

Javascript 如何使用Node js和Mongodb使产品属性随不同的产品而变化?,javascript,node.js,mongodb,mongoose,mongoose-schema,Javascript,Node.js,Mongodb,Mongoose,Mongoose Schema,这是我的产品模型。假设用户看到不同的产品,不同的产品有不同的属性,如:三星Galaxy有“Ram、存储、颜色”,而T恤有“颜色、大小”等。如何创建动态产品属性?如果可能,请通过邮递员测试显示您的产品型号和控制器文件逻辑(动态方式) 注意:我在stackoverflow上看到了此类问题,但无法解决 const mongoose = require("mongoose"); const moment = require("moment"); const

这是我的产品模型。假设用户看到不同的产品,不同的产品有不同的属性,如:三星Galaxy有“Ram、存储、颜色”,而T恤有“颜色、大小”等。如何创建动态产品属性?如果可能,请通过邮递员测试显示您的产品型号和控制器文件逻辑(动态方式)

注意:我在stackoverflow上看到了此类问题,但无法解决

   const mongoose = require("mongoose");
const moment = require("moment");
const Schema = mongoose.Schema;

const productSchema = new Schema({
    name: {
        type: String,
        required: true,
        trim: true,
    },
    slug: {
        type: String,
        required: true,
        unique: true,
    },
    price: {
        type: String,
        required: true,
    },
    quantity: {
        type: Number,
        required: true,
    },
    description: {
        type: String,
        required: true,
        trim: true,
    },

    discount: {
        type: Number,
    },
    productPictures: [{
        img: {
            type: String,
        },
    }, ],

    mainCategory: {
        type: mongoose.Schema.Types.ObjectId,
        ref: "category",
        required: [true, "It is a required field"],
    },
    
    createdBy: {
        type: mongoose.Schema.Types.ObjectId,
        ref: "admin",
        required: true,
    },

    createdAt: {
        type: String,
        default: moment().format("DD/MM/YYYY") + ";" + moment().format("hh:mm:ss"),
    },
    updatedAt: {
        type: String,
        default: moment().format("DD/MM/YYYY") + ";" + moment().format("hh:mm:ss"),
    },
},)

const Product = mongoose.model("product", productSchema);
module.exports = Product;

对于更改产品属性这样的场景,有一种称为属性模式的设计模式。您可以使用node js和mongoose引用一些使用属性模式的链接吗。你也可以在网上搜索更多的文章/例子。