您好,登錄后才能下訂單哦!
nodeJs連接mongodb數(shù)據(jù)庫,根據(jù)服務器的不同生成相應的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層連接數(shù)據(jù)庫,只需直接調(diào)用改方法即可
首先添加引用:
var urlFactory = require('./dbFactory');
然后,直接調(diào)用:
require('mongodb').connect(urlFactory.url, function(err, conn){ //讀取 users 集合 conn.collection('users', function (err, collection) { // do something }); });
這樣,所有需要連接數(shù)據(jù)庫的地方,都需要調(diào)用urlFactory.url,也就是createURL方法,肯定是低效的。所以,我本來打算寫個緩存之類的,把url暫存起來,省得每次都要重新判斷、重新生成。
不過,莫名的問題出現(xiàn)了。無論怎樣運行系統(tǒng),console.log("config database url...");只輸出一次?。?/p>
這是為什么呢?NodeJs的機制?還是exports的原因?個人猜測是require('mongodb').connect(urlFactory.url, fn);這種鏈接方式,采用類似session的方式。
先記一筆在這里,以后研究。。。
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。