如何在sails.js中运行多个适配器

时间:2016-09-20 04:40:19

标签: mysql mongodb sails.js

我是sails.js的新手...在使用config文件夹,connections.js文件时我添加了MYSQL和MongoDB连接......

module.exports.connections = {
 appDevMYSQL: {
    adapter: 'sails-mysql',
    host: 'localhost',
    user: 'appDev', //optional
    password: 'appDev123', //optional
    database: 'appdev' //optional
  },
  appDevMongo: {
   adapter: 'sails-mongo',
   host: 'localhost',
   port: 27017, 
   database: 'appdev'
    // user: 'username', // password: 'password' 
  } 
}

并且在同一个配置文件夹中,model.js文件我正在尝试访问这两个连接...

module.exports.models = {
  connection: 'appDevMYSQL',
  connection: 'appDevMongo',
}

但它只是如何连接到Mongo ......当我评论第二个连接Mongo-'appDevMongo'时,MYSQL-'appDevMYSQL'工作正常,但我想要两个都工作...
就像只有一个连接工作?或者我错过了somthig ......

1 个答案:

答案 0 :(得分:0)

在config / model.js中定义连接时,这是查询数据库时将使用的默认连接。

所以在config / models.js中你只能定义一个作为默认值的连接。

如果要使用多个连接。然后以与在config / connections.js中定义的方式相同的方式定义连接

module.exports.connections = {
       appDevMYSQL: {
              adapter: 'sails-mysql',
              host: 'localhost',
              user: 'appDev', //optional
              password: 'appDev123', //optional
              database: 'appdev' //optional
       },
       appDevMongo: {
             adapter: 'sails-mongo',
             host: 'localhost',
             port: 27017, 
             database: 'appdev'
             // user: 'username', // password: 'password' 
      } 
}

在api / models中的模型文件中,您可以定义要使用的连接。 让我们说User.js模型

module.exports ={
           connection : 'appDevMongo',
           attributes : {
                //this will contain model attributes
           }
}

让我们说推文Model Tweets.js

module.exports ={
           connection : 'appDevMYSQL',
           attributes : {
                //this will contain model attributes
           }
}