【问题标题】:OverwriteModelError: Cannot overwrite `Product` model once compiledOverwriteModelError:编译后无法覆盖`Product`模型
【发布时间】:2017-10-04 08:50:51
【问题描述】:

我曾尝试在我的 purchaseSchema 中调用我的 productSchema,但出现此错误:OverwriteModelError: Cannot overwrite Product model 一旦编译。 我可以尝试什么?

这是我的产品架构:

mongoose = require('mongoose');
var Schema = mongoose.Schema;

var productSchema = new Schema({

cd: {
    type: Number,
    require: true
},

nm_iten: {
    type: String,
    require: true
},

type_iten: {
    type: String,
    require: true
},

unity: {
    type: String,
    require: true
},

});
var product = mongoose.model('Product',productSchema);
module.exports = {product:product}

而且,这是我购买的 Schema:

   var mongoose = require('mongoose');
   var Schema = mongoose.Schema;
   var productSchema = require('./products');
   var product = productSchema.product;

   var purchaseSchema = new Schema({

     code: {
       type: Number,
       require: true
    },

     product:[product],

     quant: {
       type: Number,
       require: true
    },

    vl_uni: {
       type: Number,
       require: true
     },

     vl_total: {
        type: Number,
        require: true
    }


    });
    mongoose.model('Purchase',purchaseSchema);

【问题讨论】:

    标签: javascript node.js mongodb express mongoose


    【解决方案1】:

    在购买模式中,product 需要指向 productSchema,而不是产品模型。

    产品架构:

    mongoose = require('mongoose');
    var Schema = mongoose.Schema;
    
    var productSchema = new Schema({
        cd: {
            type: Number,
            require: true
        },    
        nm_iten: {
            type: String,
            require: true
        },       
        type_iten: {
            type: String,
            require: true
        },        
        unity: {
            type: String,
            require: true
        },   
    });
    module.exports = productSchema;
    

    购买模式:

    var mongoose = require('mongoose');
    var Schema = mongoose.Schema;
    var productSchema = require('./products');
    var product = productSchema;
    
    var purchaseSchema = new Schema({
       code: {
           type: Number,
           require: true
       },
       product:[product],
       quant: {
           type: Number,
           require: true
       },
       vl_uni: {
           type: Number,
           require: true
       },
       vl_total: {
           type: Number,
           require: true
       }
    });
    mongoose.model('Purchase',purchaseSchema);
    

    有关更多信息,请参阅有关嵌入式文档的 mongodb 文档: http://mongoosejs.com/docs/2.7.x/docs/embedded-documents.html

    【讨论】:

      猜你喜欢
      • 2015-04-25
      • 2022-08-21
      • 2020-03-06
      • 2020-11-13
      • 2019-02-28
      • 2021-05-18
      • 2019-08-31
      • 2019-01-13
      • 2013-10-03
      相关资源
      最近更新 更多