首页 > 解决方案 > 如何处理 node.js 上没有返回数据的 sqlite3

问题描述

我有一个巨大的 Sqlite3 数据库,大小约为 18.3 GB。我正在使用 Node.js、express.js 和 sqlite3 查询它。如果我输入存储在数据库中的电子邮件地址,它会正确显示相关的其他详细信息。但是,如果电子邮件地址不在数据库中,它会无限期地等待响应,直到超时。我已经在我的本地主机和我的虚拟主机上尝试过这个。

我的问题:有没有办法阻止它或处理错误?

我尝试在行上添加一个 if 语句,以查明是否存在包含 err aka err.message 的消息,但结果未定义。

app.get('/api/users/:email', function(request, response) {
const email = request.params['email'];

db.all("SELECT * FROM ents WHERE email = '" + email + "'", function(err, rows){
    if(rows) {
        response.send(rows);
    }
    else {
        response.send('No Data');
    }
});

});

在本地机器 (localhost) 和虚拟主机上,它都会等待响应,直到超时。输出应该是包含与电子邮件地址相关联的各种字段的 json 响应或“否”响应。

标签: node.jssqlite

解决方案


推荐阅读