sails-rabbitmq适配器与mongodb问题集成

时间:2016-09-23 00:15:42

标签: rabbitmq sails.js

我已经设置了sailsjs项目并尝试使用sails-rabbitmq适配器访问rabbitmq。我跟着https://www.npmjs.com/package/sails-rabbitmq。 我想和rabbitmq一起使用mongodb。问题是当我航行升降机时我收到这个错误。

  

错误:挂钩(orm)无法加载!
  错误:错误:您的某个模型(message)指的是多个数据存储区。   请将其配置的数据存储区设置为字符串,而不是其模型定义中的数组(.connection)或应用程序范围的默认值(sails.config.models.connection
  (这通常在您的config/models.js文件中设置,或者作为应用程序的特定于环境的配置的一部分设置。

     
at constructError (C:\Users\demoapp\AppData\Roaming\npm\node_modules\sails\node_modules\sails-hook-orm\lib\construct-error.js:57:13)
at validateModelDef (C:\Users\demoapp\AppData\Roaming\npm\node_modules\sails\node_modules\sails-hook-orm\lib\validate-model-def.js:97:11)
at C:\Users\demoapp\AppData\Roaming\npm\node_modules\sails\node_modules\sails-hook-orm\lib\initialize.js:218:36
at arrayEach (C:\Users\demoapp\AppData\Roaming\npm\node_modules\sails\node_modules\lodash\index.js:1289:13)
at Function.<anonymous> (C:\Users\demoapp\AppData\Roaming\npm\node_modules\sails\node_modules\lodash\index.js:3345:13)
at Array.async.auto._normalizeModelDefs (C:\Users\demoapp\AppData\Roaming\npm\node_modules\sails\node_modules\sails-hook-orm\lib\initialize.js:216:11)
at listener (C:\Users\demoapp\AppData\Roaming\npm\node_modules\sails\node_modules\sails-hook-orm\node_modules\async\lib\async.js:605:42)
at C:\Users\demoapp\AppData\Roaming\npm\node_modules\sails\node_modules\sails-hook-orm\node_modules\async\lib\async.js:544:17
at _arrayEach (C:\Users\demoapp\AppData\Roaming\npm\node_modules\sails\node_modules\sails-hook-orm\node_modules\async\lib\async.js:85:13)
at Immediate.taskComplete (C:\Users\demoapp\AppData\Roaming\npm\node_modules\sails\node_modules\sails-hook-orm\node_modules\async\lib\async.js:543:13)
at processImmediate [as _immediateCallback] (timers.js:383:17)
  

我有&gt; connection: [ 'rabbitCluster', 'regularMongo' ] 在我的消息模型中。 regularMongo是mongodb连接。请告诉我我缺少的其他配置。

1 个答案:

答案 0 :(得分:0)

使用以下配置我没有看到任何错误。在sails.config.models设置

module.exports.models = {
   connection: 'someMongodbServer',
   migrate: 'safe'
};

Message.js

module.exports = {
  connection: [ 'rabbitCluster', 'someMongodbServer' ],
  routingKey: [ 'parentMessage' ],
  attributes: {
    title: 'string',
    body: 'string',
    parentMessage: {
      model: 'message'
    }
  }
};