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

Suk*_*ukh 1 javascript mysql oracle node.js sails.js

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

谢谢.

Gab*_*e H 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'
        }
    }
};
Run Code Online (Sandbox Code Playgroud)

然后,您还可以将另一个模型(例如Office)与不同的数据存储(例如mongoDB)相关联.

在api/models/Office.js中

module.exports = {

    adapter: 'mongo',

    attributes: {
        address: 'string',
        city: 'string',
        state: 'string'
    }
};
Run Code Online (Sandbox Code Playgroud)

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

npm install sails-mysql sails-mongo --save
Run Code Online (Sandbox Code Playgroud)

您可以在sails文档中找到有关如何在适配器配置中配置数据库的更多信息.

对于您的特定用例,目前没有Oracle适配器.如果您有兴趣启动该项目,下面是一些文档和开始制作风帆适配器的样板.可以在此处找到当前可用适配器的列表.