Node JS航行两个不同的数据库

Node JS Sails Two Different Databases

本文关键字:两个 数据库 JS 航行 Node      更新时间:2023-09-26

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

谢谢。

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

在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 mysqlsails mongo适配器,并对它们进行了配置。您可以使用npm安装适配器。

npm install sails-mysql sails-mongo --save

您可以在sails文档中了解如何配置数据库以进行适配器配置的更多信息。

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

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