Mongoose 链接查询问题
发布于 10 年前 作者 owen-hong 4040 次浏览 最后一次编辑是 8 年前

在进行数据查询表 artPost 的时候,我发现只要我在页面上查询第二次程序就会报错:

Cannot overwrite `artPost` model once compiled. at NativeConnection.Connection.model

下面是我的查询代码:

artPost.prototype.artFind = function artFind(data,count,callback){
	var PersonEntity = db.model('artPost');
	PersonEntity.find(data).limit(count).exec(callback);
};

求教各位我上面的链接有什么问题吗,页面第一次进入的时候可以正常跑起来查询到数据,但是刷新页面或者重新载入,页面就会报错:

Cannot overwrite `artPost` model once compiled. at NativeConnection.Connection.model ,
3 回复

提示你不能重写artPost模型,也就是说你的代码二次执行时,修改了那个模型,导致报错~

model 定义放到请求外面,不然每次执行会报错。

此问题已经解决,分享下解决方法,产生这个原因是我方法都是通过prototype扩展的,所以到导致了model重复加载,后面我改用了mongoose静态扩展的方法设置的就可以了: PersonSchema.statics.artFind = function(data,count,callback){

return this.find(data).limit(count).exec(callback);

}

希望可以帮到和我遇到同样问题的 同学

回到顶部