0

我正在尝试使用“轻量级离线数据库”,它将数据存储在 .csv 文件中。模块文档:https ://www.npmjs.com/package/csv-db 该模块似乎对我不起作用,尝试了一切。我的实际代码是:

index.js

const CsvDb = require('csv-db');
const db = new CsvDb("test_db.csv");

(async () => {
    const db = await db.get();
    await db.insert({
            id: 3,
            title: "Obj3Title."
        })
        .then((data) => console.log(data), (err) => console.log(err));
})();

test_db.csv:(与 index.js 位于同一目录中)

id;title;
1;Obj1Title;
2;Obj2Title;

所以我得到这个错误:

UnhandledPromiseRejectionWarning: ReferenceError: db is not defined

我还尝试了以下作为“new CsvDb(...)”中的路径得到相同的错误:

const db = new CsvDb(__dirname + "\\test_db.csv");
const db = new CsvDb("./test_db.csv");

提前感谢您的帮助!

4

1 回答 1

0

这就是你做错了什么。

您正在将值重新分配给常量"db"

这是你应该做的:

const CsvDb = require('csv-db');
const csvDbInstance = new CsvDb("test_db.csv");

(async () => {
    const db = await csvDbInstance.get();
    await db.insert({
            id: 3,
            title: "Obj3Title."
        })
        .then((data) => console.log(data), (err) => console.log(err));
})();

希望这可以帮助。

于 2018-06-07T13:32:42.980 回答