第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

單節(jié)點(diǎn).js項(xiàng)目中的monose和多個(gè)數(shù)據(jù)庫

單節(jié)點(diǎn).js項(xiàng)目中的monose和多個(gè)數(shù)據(jù)庫

莫回?zé)o 2019-07-22 19:31:10
單節(jié)點(diǎn).js項(xiàng)目中的monose和多個(gè)數(shù)據(jù)庫我正在做一個(gè)包含子項(xiàng)目的Node.js項(xiàng)目。一個(gè)子項(xiàng)目將有一個(gè)MongoDB數(shù)據(jù)庫,Monose將用于包裝和查詢db。但問題是Monose不允許在單個(gè)monose實(shí)例中使用多個(gè)數(shù)據(jù)庫,因?yàn)槟P蜆?gòu)建在一個(gè)連接上。要使用多個(gè)monose實(shí)例,Node.js不允許多個(gè)模塊實(shí)例,因?yàn)樗趓equire()..我知道在Node.js中禁用模塊緩存,但我認(rèn)為這不是一個(gè)好的解決方案,因?yàn)樗恍枰堶?。我試著用createConnection()和openSet()在貓鼬身上,但這不是解決辦法。我試圖深入復(fù)制貓鼬實(shí)例(http:/blog.Imaginea.com/深處復(fù)制javascript/)將新的貓鼬實(shí)例傳遞給子項(xiàng)目,但它會(huì)拋出RangeError: Maximum call stack size exceeded.我想知道是否有任何方式使用多個(gè)數(shù)據(jù)庫與貓鼬或任何解決辦法這個(gè)問題?因?yàn)槲矣X得貓鼬很容易很快?;蛘咂渌K作為推薦?
查看完整描述

3 回答

?
慕神8447489

TA貢獻(xiàn)1780條經(jīng)驗(yàn) 獲得超1個(gè)贊

您可以做的一件事是,您可能有每個(gè)項(xiàng)目的子文件夾。因此,在該子文件夾中安裝monose,并在每個(gè)子應(yīng)用程序中從自己的文件夾中要求()monose。不是從項(xiàng)目根或從全局。因此,一個(gè)子項(xiàng)目,一個(gè)貓鼬安裝和一個(gè)貓鼬實(shí)例。

-app_root/--foo_app/---db_access.js---foo_db_connect.js---node_modules/----mongoose/--bar_app/---db_access.js---bar_db_connect.js---node_modules/----mongoose/

在foo_db_connect.js中

var mongoose = require('mongoose');mongoose.connect('mongodb://localhost/foo_db');module.exports = exports = mongoose;

在bar_db_connect.js中

var mongoose = require('mongoose');mongoose.connect('mongodb://localhost/bar_db');module.exports = exports = mongoose;

在db_access.js文件中

var mongoose = require("./foo_db_connect.js"); // bar_db_connect.js for bar app

現(xiàn)在,您可以使用貓鼬訪問多個(gè)數(shù)據(jù)庫。


查看完整回答
反對(duì) 回復(fù) 2019-07-22
?
慕萊塢森

TA貢獻(xiàn)1810條經(jīng)驗(yàn) 獲得超4個(gè)贊

根據(jù)精細(xì)手冊(cè)createConnection() 能,會(huì),可以用于連接到多個(gè)數(shù)據(jù)庫。

但是,您需要為每個(gè)連接/數(shù)據(jù)庫創(chuàng)建單獨(dú)的模型:

var conn      = mongoose.createConnection('mongodb://localhost/testA');var conn2     = mongoose.createConnection('mongodb://localhost/testB');// stored in 'testA' databasevar ModelA    = conn.model('Model', new mongoose.Schema({
  title : { type : String, default : 'model in testA database' }}));// stored in 'testB' databasevar ModelB    = conn2.model('Model', new mongoose.Schema({
  title : { type : String, default : 'model in testB database' }}));

我很確定您可以在它們之間共享模式,但是您必須檢查以確保。


查看完整回答
反對(duì) 回復(fù) 2019-07-22
?
慕的地6264312

TA貢獻(xiàn)1817條經(jīng)驗(yàn) 獲得超6個(gè)贊

作為另一種方法,Monose在默認(rèn)實(shí)例上為新實(shí)例導(dǎo)出構(gòu)造函數(shù)。所以像這樣的事情是有可能的。

var Mongoose = require('mongoose').Mongoose;var instance1 = new Mongoose();instance1.connect('foo');var instance2 = new Mongoose();instance2.connect('bar');

當(dāng)您使用不同的數(shù)據(jù)源時(shí),以及當(dāng)您希望為每個(gè)用戶或請(qǐng)求創(chuàng)建一個(gè)單獨(dú)的數(shù)據(jù)庫上下文時(shí),這是非常有用的。您需要小心,因?yàn)檫@樣做可以創(chuàng)建大量的連接。確保在不需要實(shí)例時(shí)調(diào)用disconnect(),并限制每個(gè)實(shí)例創(chuàng)建的池大小。


查看完整回答
反對(duì) 回復(fù) 2019-07-22
  • 3 回答
  • 0 關(guān)注
  • 810 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)