首页 > 解决方案 > NodeJS:如何将实体从 mysql 发送到 rabbitmq

问题描述

我正在尝试将从 MySQL 获得的“实体”发送到 RabbitMQ。

我能够连接到数据库并返回数据。例子:

    dbConnection.query("SELECT * FROM customer WHERE Id = ?", customerId, (err, rows, fields) => {
    ...
    res.status(200).json(rows)
    ...
    }

之后,我可以在 Postman 中查看“JSON 结果”,因此,我想将此“JSON 结果”作为字符串发送到 RabbitMQ。

我可以毫无问题地向 RabbitMq 发送一个假数据对象:

    const fakeData = {
        name: "Elon Musk",
        company: "SpaceX",
    };

    channel.sendToQueue("message-queue", Buffer.from(JSON.stringify(fakeData)));

那么,我必须如何转换从 MySQL 返回的“行”对象以将其发送到队列?

先感谢您!

标签: mysqlnode.jsrabbitmq

解决方案


我的问题的解决方案如下:

rows.forEach(function (row) {
    channel.sendToQueue("message-queue", Buffer.from(JSON.stringify(row)));
});

推荐阅读