nodejs 的一个疑问
admin
2023-04-13 20:01:28
0


nodeJs连接mongodb数据库,根据服务器的不同生成相应的URL,所以写了个方法:

var createURL = function(){
    var mongourl = "";
    if(process.env.VCAP_SERVICES){
       mongourl = .....;
    }else{
       mongourl = ...;
    }
    console.log("config database url...");
    return mongourl;
}
exports.url = createURL();

在model层连接数据库,只需直接调用改方法即可

首先添加引用:

var urlFactory = require('./dbFactory');

然后,直接调用:

require('mongodb').connect(urlFactory.url, function(err, conn){
    //读取 users 集合
    conn.collection('users', function (err, collection) {
    // do something
    });
  });


这样,所有需要连接数据库的地方,都需要调用urlFactory.url,也就是createURL方法,肯定是低效的。所以,我本来打算写个缓存之类的,把url暂存起来,省得每次都要重新判断、重新生成。


不过,莫名的问题出现了。无论怎样运行系统,console.log("config database url...");只输出一次!!


这是为什么呢?NodeJs的机制?还是exports的原因?个人猜测是require('mongodb').connect(urlFactory.url, fn);这种链接方式,采用类似session的方式。


先记一笔在这里,以后研究。。。


相关内容

热门资讯

重磅消息“授权大厅牛牛有没有挂... 网上科普关于“授权大厅牛牛有没有挂”话题很是火热,小编也是针对授权大厅牛牛作*弊开挂的方法以及开挂对...
【第一财经】“新猴王牛牛到底有... 【第一财经】“新猴王牛牛到底有挂吗?”(太坑了果然有挂)您好,新猴王牛牛这个游戏其实有挂的,确实是有...
今日重磅消息“潘潘讲故事是不是... 家人们!今天小编来为大家解答潘潘讲故事透视挂怎么安装这个问题咨询软件客服徽9784099的挂在哪里买...
终于了解“丫丫诗词到底有挂吗?... 网上科普关于“丫丫诗词有没有挂”话题很是火热,小编也是针对丫丫诗词作*弊开挂的方法以及开挂对应的知识...
【第一消息】“普通四口麻将机遥... 您好:普通四口麻将机遥控器这款游戏可以开挂,确实是有挂的,需要了解加客服微信【9752949】很多玩...
最新引进“欢聚水鱼到底是不是挂... 家人们!今天小编来为大家解答欢聚水鱼透视挂怎么安装这个问题咨询软件客服徽9752949的挂在哪里买很...
终于了解“经典联盟究竟有挂吗?... 您好:经典联盟这款游戏可以开挂,确实是有挂的,需要了解加客服微信【9784099】很多玩家在这款游戏...
【第一消息】“微信小程序家乡大... 【第一消息】“微信小程序家乡大贰是不是有挂?”(果然有透视挂)您好,微信小程序家乡大贰这个游戏其实有...
今日重大消息“鱼虾蟹透视到底有... 有 亲,根据资深记者爆料鱼虾蟹透视是可以开挂的,确实有挂(咨询软件无需打...
【今日要闻】“皇豪互娱牛牛究竟... 家人们!今天小编来为大家解答皇豪互娱牛牛透视挂怎么安装这个问题咨询软件客服徽4282891的挂在哪里...