2015-04-23 9 views
6

मैं अपने लूपबैक ऐप में बहुतायत को कार्यान्वित करना चाहता हूं। अभी, मैं अनुरोध के डोमेन के आधार पर प्रत्येक अनुरोध के लिए अपने मैंगोडब सर्वर पर अलग-अलग डेटाबेस को इंगित करने के लिए अपने डेटा स्रोतों को फिर से परिभाषित करने के लिए मिडलवेयर का उपयोग करने की कोशिश कर रहा हूं। कोड चलता है, लेकिन ऐसा लगता है कि यह वास्तव में डेटास्रोत को बदल नहीं रहा है। इसके बजाय, यह हमेशा मेरे datasources.json में परिभाषित एक का उपयोग करता है।लूपबैक बहुतायत डेटाबेस स्वैप

अभी, मैं यही कर रहा हूं। मेरे सभी मॉडल संदर्भ "my_db" हैं और मैं प्रत्येक किरायेदार के लिए अपने मोंगो सर्वर पर एक डेटाबेस रखना चाहता हूं।

var dataSourceObj = { 
     my_db:{ 
      url: process.env.MONGOLAB_URI, 
      connector: "mongodb", 
      name: "my_db", 
      database: tenant 
     } 
     } 

     Object.keys(dataSourceObj).forEach(function(dataSource) { 

     app.dataSources[dataSource].adapter.settings = dataSourceObj[dataSource]; 
     app.dataSources[dataSource].adapter.clientConfig = dataSourceObj[dataSource]; 
     app.dataSources[dataSource].settings = dataSourceObj[dataSource]; 
     app.dataSources[dataSource].connector.settings = dataSourceObj[dataSource]; 
     app.dataSources[dataSource].connector.clientConfig = dataSourceObj[dataSource]; 

     }); 

क्या किसी के पास कोई विचार है? क्या यह बहु-किरायेदारी करने का मूर्ख तरीका है?

धन्यवाद!

+1

उपरोक्त कोड में 'किरायेदार 'क्या है? – jakerella

+0

क्या आपको कभी समाधान मिला? –

उत्तर

1

मैं इस परियोजना को बनाता हूं। मैं एक विकल्प है।

https://github.com/paulomcnally/loopback-example-multitenant

+0

पाउलो मैंने आपके प्रोजेक्ट का परीक्षण इस प्रकार किया है: 'curl --data "उपयोगकर्ता नाम = paulomcnally1 और message = हैलो वर्ल्ड" http://127.0.0.1:4000/demo1/tweets और curl --data "उपयोगकर्ता नाम = paulomcnally2 और message = हैलो वर्ल्ड" http : //127.0.0.1: 4000/डेमो 2/ट्वीट्स और '। दोनों ट्वीट्स जहां डेमो 2 डेटाबेस पर writed। क्या समवर्तीता में कोई समस्या है या मैं कुछ गलत कर रहा हूं? – Musma

संबंधित मुद्दे