想要将json数据从文件存储到sqlite数据库,但出现错误

时间:2019-05-17 09:01:55

标签: node.js json sqlite

错误

  

{db.transaction(function(tx){TypeError:db.transaction不是   功能}

我正在SQLite数据库中设置问题库备份,因此我具有JSON文件格式的问题库。我已经编写了以下代码,但由于刚开始使用nodejs进行编码,因此无法得到错误。

var fs = require("fs");
var sqlite3 = require("sqlite3").verbose();
var db = new sqlite3.Database('json.sqlite3');
var file = process.env.CLOUD_DIR + "json.sqlite3";
var exists = fs.existsSync(file);
var jsonfile = {
key: "myvalue"
};

fs.readFile('demo.json', function (err, data) {
if (err) {
    return console.error(err);
}
console.log("File content: " + data.toString());
// now save to db


if(!exists) {
console.log("Creating DB file.");
fs.openSync(file, "w");
}


db.serialize(function() {
if(!exists) {
db.run("CREATE TABLE Stuff (thing TEXT)");
 }


var jsonString = escape(JSON.stringify(data.toString()));

    db.transaction(function(tx){
        tx.executeSql('INSERT OR REPLACE INTO Stuff(md5, json,                                                                                                                                                                                                                                                                                                                           

 expires) VALUES ("'+hash+'", "'+jsonString+'","'+expireStamp+'")');
    },function(tx,error){
        console.log(JSON.stringify(tx.message));
        console.log(JSON.stringify(error));
    },function(){

        });
    });
  });
  db.close();

JSON应该易于从SQLite数据库中更新,编辑和检索

1 个答案:

答案 0 :(得分:1)

错误消息db.transaction(function(tx){ TypeError: db.transaction is not a function清晰明确。

查看API doc以获得数据库对象上可用方法的列表。

我发现this tutorial在学习过程中非常有帮助。