node操作mongodb的model不能在多个router里创建的问题
2016-12-06 23:50
411 查看
初学node,在运用mongoose模块来利用nodejs操作mongodb数据库时,因为在不同的router中使用:
此时,会报错:
throw new mongoose.Error.OverwriteModelError(name);
原因在于:
另一个js文件中也连接了该集合,即model占用了;
解决办法:
将数据库连接也集合创建代码独立出来;
在其它路由中:
通过
这样就不会发生重写model的错误了。
var model=mongoose.model("collection-name",schema); //这里的集合名相同了
此时,会报错:
throw new mongoose.Error.OverwriteModelError(name);
原因在于:
另一个js文件中也连接了该集合,即model占用了;
解决办法:
将数据库连接也集合创建代码独立出来;
var mongoose=require('mongoose'); var mongodb=mongoose.connect("mongodb://127.0.0.1:27017/dbsname",function(err){ console.log("连接数据库成功") }); var testschema=new mongodb.Schema({ "title" : String, "content" : String, "author" :String, "keyword" : String, "date" : String }) var tryschema=new mongodb.Schema({ "username" : String, "password" : String }) var messagesSchema=new mongodb.Schema({ "name" : String, "content" :String, "contact":String, "date" : String }); mongodb.col={}; mongodb.col.test=mongodb.model('test',testschema,'test'); //此处写两次集合名只是为了避错,可忽略。 mongodb.col.try=mongodb.model('try',tryschema,'try'); mongodb.col.mes=mongodb.model('messages',messagesSchema,'messages'); module.exports=mongodb;
在其它路由中:
通过
var mongodb=require("./conDBS");//conDBS.js就是以上独立出来的连接数据库的模块; var test=mongodb.col.test; test.find({},function(err,data){ console.log(data) //简单测试 })
这样就不会发生重写model的错误了。
相关文章推荐
- No migrations to apply.(django不能创建数据库中的表的问题) Django 1.10.1下操作成功的案例
- SQL Server 不能创建数据库了,发生错误:1807 未能获得数据库 'model' 上的排它锁。请稍后重试操作。
- javascript操作写入txt文件及消息: Automation 服务器不能创建对象问题
- No migrations to apply.(django不能创建数据库中的表的问题) Django 1.10.1下操作成功的案例
- django1.7取消syncdb后不能创建model相应表的问题
- SQLServer2000安装问题-“以前的某个程序安装已在安装计算机上创建挂起的文件操作。”
- sql server 安装中出现的问题:以前的某个程序安装已在安装计算机上创建挂起的文件操作。运行安装程序之前必须重新启动计算机!。
- 打开页面时出现"Automation 服务器不能创建对象"问题的解决方法
- automation服务器不能创建对象的问题
- kjava播放视频的时候不能用线程做刷屏的操作,否则出现闪屏问题!在nokia机器上如此。。。
- 解决iis版本问题,不能在VS2003中创建asp.net应用程序的方法
- 解决automation服务器不能创建对象问题
- “automation服务器不能创建对象”的问题的解决方案大全
- SQL Server 安装问题:以前的某个程序安装已在安装计算机上创建挂起的文件操作
- 解决“Automation 服务器不能创建对象”的问题!
- 对IVideoWindow的put_Owner()操作后视频窗口不能正常刷新的问题
- 解决automation服务器不能创建对象问题
- 关于登录进去后不能操作问题的回复
- Automation 服务器不能创建对象的问题的解决方案大全
- 解决vs2003Automation不能创建对象的问题(2006-07-13 22:26:07)