mysql - 同步调用sql查询

标签 mysql node.js

目前正在处理 Node Rest api 项目,我想在其中获取数据列表的数据。例如:我有一个特定标签(移动)的 post_id([1,2,3....]) 列表,对于每个 post_id 我想从 mysql 数据库检索帖子标题和描述。但调用sql查询是同步的。

如何控制每个帖子 ID 结果合并为一个的流程。

我的数据库调用代码在这里:

var express    = require('express');
var app        = express();
var bodyParser = require('body-parser');    // call body-parser
var addData = require('./dbhandler/addData'); // call database handler to insertdata
var getData = require('./dbhandler/getData');

//route function to get feeds by tags
router.route('/postfeedsbytags/:tag')
// get all new article feeds filtered by tag
.get(function(req,res){
    var success;
    console.log(req.params.tag)
    var json_results = [];
    getData.getPostFeedsByTag(req.params.tag,function(error, results, fields){
        if (!error){
            for (var i = 0; i < results.length; i++) {
                getData.getPostFeedsByPostId(results[0]['post_id'],function(error, results, fields){
                    if (!error){
                        success = 1;
                        json_results.push(results[0]);
                        res.json({"success" : success, "datasets" : json_results});
                    } else{
                        success = 0;
                        console.log('Error while performing Query.'+error);
                        res.json({"success" : success});
                    }
                });
            }
            // res.json({"success" : success, "datasets" : results});
        } else{
            success = 0;
            console.log('Error while performing Query.'+error);
            res.json({"success" : success});
        }
    });
});

最佳答案

我认为您可以在查询中使用 IN 运算符来获取单个查询中的所有帖子,然后对其进行迭代。

如果您不想使用 IN 运算符,则使用 async流控制库。您可以使用其中的 async.map 函数。

关于mysql - 同步调用sql查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42112834/

相关文章:

html - 发送和接收PCM样本

javascript - sails.js:手动调用 404

node.js - Sequelizejs 在列上运行函数时出错 - check_ungrouped_columns_walker in

javascript - 如何修复我的情况下的无效 JSON?

mysql - 如何使用 MySQL View 和 ORDER BY 子句?

mysql - 如何在mysql中使用LEFT JOIN

mysql - SQL查询检索对话记录

mysql - 删除与依赖表没有任何链接的所有行

mysql - 立即从表 AND 'archive' 表中选择

node.js - 使用 nodeJS Sequelize 向 postgresql 添加多个值