如何 SELECT / 使用 node-sqlite3 获取所有行?

How to SELECT / get all rows with node-sqlite3?

我正在尝试从我之前输入的 sqlite3 数据库中获取所有/超过一行数据,并确保它(数据)存在。使用 db 作为数据库对象,我的尝试如下所示:

 db.get
    (
        'SELECT * FROM my_table',
        (err, rows) =>
        {
            if(rows && err === null)
            {
                console.log(rows);
            }
            else
            {
                console.log('Error', err);
            }
        }
    )

上面总是 returns 一个包含 1 行数据的对象。

这里的问题是 db.get() 只会 return 结果集中的第一行。来自 documentation:

Runs the SQL query with the specified parameters and calls the callback with the first result row afterwards.

如果要 return 整个结果集,请改用 db.all()

db.all("SELECT * FROM my_table", function(err, rows) {  
    rows.forEach(function (row) {  
        console.log(row.col1, row.col2);    // and other columns, if desired
    })  
});

您也可以在此处使用 db.each()

db.each("SELECT * FROM my_table", function(err, row) {
    console.log(row.col1, row.col2);    // and other columns, if desired
});