您好,登錄后才能下訂單哦!
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的方式。
先記一筆在這里,以后研究。。。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。