如何使用 node.js 从两个不同的数据库系统中检索数据?

金刚狼

就像我想显示一些在 oracle 数据库中的数据和一些在 MongoDB 数据库中的数据(我使用的是 MongoDB 和 node.js)。如何合并这两个数据库并显示输出?

我不知道如何开始...

提前致谢

特里·伦诺克斯

从两个数据库查询归结为(通常)合并两个结果数组,一个来自每个数据库。您可以使用与下面代码类似的方法,在这种情况下,我只是使用简单的对象来表示 dbs,但是方法完全相同。

let database1 = {
    query: function(queryText) {
        return new Promise(resolve => setTimeout(() => resolve([{user_id: 1, name: "John Smith"}, {user_id: 2, name: "Mary Jones"}]), 100));
    }
}

let database2 = {
    query: function(queryText) {
        return new Promise(resolve => setTimeout(() => resolve([{user_id: 1, dob: "1966-05-22"}, {user_id: 2, dob: "1979-11-01"}]), 100));
    }
}

function mergeResults(result1, result2, key) {
      var obj = result1.concat(result2).reduce((acc, v) => {
        acc[v[key]] = Object.assign(acc[v[key]] || {}, v);
        return acc;
    }, {}); 
    return Object.values(obj);
}

async function queryAndMerge() {
    let result1 = await database1.query("get all users");
    console.log("Result from db. 1: ", result1);
    let result2 = await database2.query("get all users");
    console.log("Result from db. 2: ", result2);
    let mergedResult = mergeResults(result1, result2, "user_id");
    console.log("Merged results: ", mergedResult);
}

queryAndMerge();

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

使用Node.js查询连接两个Postgres数据库表

如何使用两个数据库系统(MongoDB/Postgres)在网站中存储不同的数据

使用 node js 将数据添加到两个不同的 mongodb Schema 中

如何使用JDBC从两个不同的MySQL数据库中检索数据?

Node.js SQL如何运行跨越两个数据库的查询

Sails js:如何在Sails js的单个模型中定义到两个不同数据库的两个MySQL连接?

Node JS使用数据库中的数据进行渲染

如何使用Node JS、Postgres和dust js在数据库中搜索数据

如何在Node.js中使用数据库?

如何使用Node JS从MySQL数据库获取值

如何从查询字符串中检索node.js中数据库中的所有匹配数据?

如何从Angular发送2个数字,将它们与Node.js相加并在Angular中显示结果?(只有那两个...没有数据库,没有库)

如何在Sails.js中定义两个MySQL数据库连接

如何使用node js组合来自两个jsons的数据

如何使用 node.js 8.10 创建一个从我自己的数据库中给出答案的 Alexa 技能

Node.js:如何知道一个值是否在MongoDB数据库的集合中?

如何使用Postgres数据库在node.js中实现文本搜索?

如何使用Windows计算机中的Node Js连接到Oracle数据库

如何使用Node JS和Express在MySQL数据库中存储PDF

如何使用MySQL数据库在Node.js中创建登录API

如何从 firebase 实时数据库中检索两个不同的值并在 onDataChange 方法之外使用?

如何使用 node.js 和 mongodb 创建一个返回数据库数据的函数

使用Node.js和Postgresql数据库实现Notification系统的最佳方法

如何使用 node js 在单个路由中使用两个不同的控制器

如何使用Node.js比较两个图像

使用node.js中的chart.js显示数组中的两个数据集

node.js如何从中间件内部的redis数据库中获取数据

使用 javascript/node js 中的 If 条件比较 array.includes 与数据库数据

使用node.js中的删除请求从数据库动态删除数据