javascript-无法修复猫鼬覆盖模型错误
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了javascript-无法修复猫鼬覆盖模型错误,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2256字,纯文字阅读大概需要4分钟。
内容图文
我正在使用angular-fullstack生成器,并且添加了Model人.当我尝试在seed.js文件中要求人员模型时,出现此错误.
/Users/dev/wishlist/node_modules/mongoose/lib/index.js:334
throw new mongoose.Error.OverwriteModelError(name);
^
OverwriteModelError: Cannot overwrite `Person` model once compiled.
at Mongoose.model (/Users/dev/wishlist/node_modules/mongoose/lib/index.js:334:13)
at Object.<anonymous> (/Users/dev/wishlist/server/api/wishList/person.model.js:11:27)
at Module._compile (module.js:456:26)
at Object.Module._extensions..js (module.js:474:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Module.require (module.js:364:17)
at require (module.js:380:17)
at Object.<anonymous> (/Users/dev/wishlist/server/api/wishList/wishList.controller.js:4:14)
at Module._compile (module.js:456:26)
我遵循了生成器附带的“ Thing”模型所使用的相同结构.还进行了搜索,并搜索了Person在代码库中的位置以及仅在person.model.js和控制器中的位置.
person.model.js:
'use strict';
var mongoose = require('mongoose'),
Schema = mongoose.Schema;
var PersonSchema = new Schema({
name: String,
quote: String
});
module.exports = mongoose.model('Person', PersonSchema);
wishlist.controller.js:
'use strict';
var _ = require('lodash');
var Person = require('./person.model');
// Get all the People that have wish lists
exports.getPeople = function(req, res) {
Person.find(function (err, people) {
if(err) { return handleError(res, err); }
return res.json(200, people);
});
};
function handleError(res, err) {
return res.send(500, err);
}
我想念什么?
解决方法:
从您发布的信息中了解到,该问题似乎是由以下几行引起的:
在对象. (/Users/dev/wishlist/server/api/wishList/person.model.js:11:27)
module.exports = mongoose.model('Person', PersonSchema);
在对象. (/Users/dev/wishlist/server/api/wishList/wishList.controller.js:4:14)
var Person = require('./person.model');
此错误最常见的原因是猫鼬模型之间的不匹配.
在此过程中,您已经以不同的名称定义了该模型,但是使用了相同的模式.
为了查看这是否是导致您出错的原因,请在需要猫鼬后立即在person.model.js中添加以下代码:
'use strict';
var mongoose = require('mongoose'),
Schema = mongoose.Schema;
mongoose.models = {};
mongoose.modelSchemas = {};
这将清除您的猫鼬数据,并清空所有现有模型和模式.
我在下面的LINK中找到了上述信息.
内容总结
以上是互联网集市为您收集整理的javascript-无法修复猫鼬覆盖模型错误全部内容,希望文章能够帮你解决javascript-无法修复猫鼬覆盖模型错误所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。