node throw new mongoose.Error.OverwriteModelError(name);
前面在写之前还在想,这个破东西,怎么共用啊,每次都要复制一遍多麻烦啊,然后问题就来了,啊哈哈
在路由js文件里面加了model,报错:throw new mongoose.Error.OverwriteModelError(name);
我在1.js
文件写了个model
,
但是我想在2.js
文件里也使用,于是我就在2.js
文件里,把前面那个复制了过来,但是一运行就报错
因为下面这种article_category
相同了,于是就报错,
Cat = mongoose.model('article_category',Category);
只能独一无二这个样子吧,只能把它独立出来,把model
专门放到一个文件里,并且暴露出来调用,
例如创建一个dbs.js
文件放model
const mongoose = require('mongoose');
mongoose.connect('mongodb://localhost/dbsname');
const Schema = mongoose.Schema;
//分类数据
const Category = new Schema({
title: String, //标题
});
//文章数据
const Article = new Schema({
title: {type:String,default:null}, //文章标题
content: {type:String,default:null}, //文章内容
});
const dbs={};
dbs.Articles = mongoose.model('article_data',Article);
dbs.Cat = mongoose.model('article_category',Category);
module.exports = dbs;
在用到的文件里调用
let dbs=require("./dbs");//dbs.js就是独立出来的连接数据库的模块文件;
dbs.Articles.find({},function(err,data){
console.log(data) //测试
})
相关问题: