我在做一個包含子項目的Node.js項目。一個子項目將有一個Mongodb數據庫,Mongoose將用於包裝和查詢數據庫。但問題是單個node.js項目中的Mongoose和多個數據庫
- 由於模型是在一個連接上構建的,因此Mongoose不允許在單個貓鼬情況下使用多個數據庫。
要使用多個貓鼬實例,Node.js不允許多個模塊實例,因爲它具有高速緩存系統
require()
。我知道在Node.js中禁用模塊緩存,但我認爲這不是一個好的解決方案,因爲它只需要貓鼬。我試過在貓鼬中使用
createConnection()
和openSet()
,但這不是解決方案。我試過深拷貝貓鼬實例(http://blog.imaginea.com/deep-copy-in-javascript/)傳遞新的貓鼬實例到子項目,但它拋出
RangeError: Maximum call stack size exceeded
。
我想知道是否有反正使用貓鼬或任何解決方法使用多個數據庫此問題?因爲我認爲貓鼬是相當容易和快速的。或者其他任何模塊作爲建議?
這意味着每個項目都有自己的連接。您將無法管理100k連接。我認爲使用'useDb'命令使用相同的連接池會更好。 – xpepermint
xpepermint你能夠顯示一個useDb的例子 - 我目前有這個問題http://stackoverflow.com/questions/37583198/how-do-i-use-mongoose-to-connect-to-two-different -databases?noredirect = 1#comment62655639_37583198 – Lion789
這看起來像是項目的巨大負擔。你不這麼認爲嗎? –