我做了一个测试页面:两个静态图片,一段取自mongodb的文字。然后不停的刷新网页。出现奇怪的现象: 我用如下代码连接数据库:
var mongodb=require('mongodb')
, mongoserver=new mongodb.Server('localhost',27017)
,dbtest=new mongodb.Db('test',mongoserver,{w:-1});
如果我将这些语句写在路由的响应函数里就没问题。但是如果我将以上代码写在一个js文件中,封装成模块,然后引用,即一下这样:
模块文件:
var mongodb=require('mongodb')
, mongoserver=new mongodb.Server('localhost',27017)
,dbtest=new mongodb.Db('test',mongoserver,{w:-1});
module.exports=dbtest;
路由响应函数中调用:
var dbtest=require('dbcon');
(其他代码都相同)就会出现 Error: db object already connecting, open cannot be called multiple times 错误。
请问这是怎么回事呢,封装到模块和写在响应函数里不一样吗?代码都是一样的啊?