在Node.js中从SQLite获取表的列表

下面的代码只返回第一个表的名字,如何获得现有sqlite中所有可用表名的列表?

const sqlite3 = require('sqlite3').verbose(); const db = new sqlite3.Database('path/to/mydb.sqlite'); db.serialize(function () { db.get("select name from sqlite_master where type='table'", function (err, table) { console.log(table); }); }); 

产量

 {name: "meta"} 

在sqlite3命令行中打开时

 sqlite> .tables downloads meta urls downloads_url_chains segment_usage visit_source keyword_search_terms segments visits 

从get()的文档 :

使用指定的参数运行SQL查询,然后用第一个结果行调用callback。

你必须使用db.all() :

 db.serialize(function () { db.all("select name from sqlite_master where type='table'", function (err, tables) { console.log(tables); }); }); 

或db.each()如果你想调用每一行的callback:

 db.serialize(function () { db.each("select name from sqlite_master where type='table'", function (err, table) { console.log(table); }); });