Node JS承载两个不同的数据库

时间:2013-07-25 20:05:34

标签: javascript mysql node.js oracle sails.js

我正在构建一个应用程序,我有一个本地数据库(mysql),但我需要连接到另一个数据库,所以我可以从第二个数据库(oracle)中提取一些信息,是否有人有任何信息或示例使用Sails管理多个数据库?

感谢。

2 个答案:

答案 0 :(得分:12)

Sails使用Waterline作为其ORM,而Waterline具有允许使用多个数据存储的适配器概念。对于您创建的每个模型,您可以定义适配器属性。例如,如果您想创建一个使用mysql作为其数据存储区的用户模型,它看起来就像这样。

在api / models / User.js

module.exports = {

    adapter: 'mysql',

    attributes: {
        name: 'string',
        email: 'string',
        phoneNumber: {
            type: 'string',
            defaultsTo: '555-555-5555'
        }
    }
};

然后,您还可以将其他模型(例如 Office )与其他数据存储(例如mongoDB)关联。

在api / models / Office.js

module.exports = {

    adapter: 'mongo',

    attributes: {
        address: 'string',
        city: 'string',
        state: 'string'
    }
};

您唯一需要确保的是,您已在项目中安装了 sails-mysql sails-mongo 适配器并对其进行了配置。您可以使用npm安装适配器。

npm install sails-mysql sails-mongo --save

您可以在adapter configuration的风帆文档中找到更多如何配置数据库的信息。

对于您的特定用例,目前没有Oracle适配器。如果您有兴趣启动该项目,这里有一些docsboilerplate开始制作风帆适配器。可以找到当前可用适配器的列表here

答案 1 :(得分:2)

如果你问的是Sails.js及其Waterline ORM,那么Oracle似乎还没有兼容的适配器。 https://github.com/balderdashy/waterline