javascript - 覆盖模型错误: Cannot overwrite `Product` model once compiled

标签 javascript node.js mongodb express mongoose

我尝试在purchaseSchema中调用我的productSchema,但出现此错误:OverwriteModelError:编译后无法覆盖 Product 模型。 我可以尝试什么?

这是我的产品架构:

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}

而且,这是我的购买架构:

   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);

最佳答案

在购买模式中,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

关于javascript - 覆盖模型错误: Cannot overwrite `Product` model once compiled,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43812283/

相关文章:

javascript - 无法使用组合 reducer REACT 显示数据

javascript - npm 'module not found' ,但一切似乎都设置正确

mongodb - 如何在 NextJS 启动时初始化 Mongodb

javascript - NodeJs/Google Firebase 函数字符串方法不起作用

javascript - Ajax 不向同一端口上的本地主机发送请求

javascript - JSX 消除 HTML 中的箭头 (>)

javascript - 如何在 Javascript 中获取时区日期和时间的 UTC 值?

node.js - out 参数结果由 Node pg 模块返回 - postgresql

Ruby MongoDB-如何根据日期时间对记录进行排序?

mongodb - 在 mongodb 中使用单个和多个索引的查询性能