我想在nodejs上的项目中使用sqlite数据库。我正在寻找一个sqlite模块,它将支持事务和异步
答案 0 :(得分:2)
另一个选项是Knex。它是一个轻量级的查询构建器,支持sqlite,mysql和postgres,具有出色的文档并且正在积极开发中。 Knex还支持承诺和回调,这是一个很好的接触。
通过简单的Transaction方法支持与Knex的交易。以下是语法示例:
http://knexjs.org/#Transaction
Knex.Transaction(function(t) {
Knex('books')
.transacting(t)
.insert({name: 'Old Books'})
.then(function(row) {
return When.all(_.map([
{title: 'Canterbury Tales'},
{title: 'Moby Dick'},
{title: 'Hamlet'}
], function(info) {
info.row_id = row.id;
// Some validation could take place here.
return Knex('book').transacting(t).insert(info);
}));
})
.then(t.commit, t.rollback);
}).then(function() {
console.log('3 new books saved.');
}, function() {
console.log('Error saving the books.');
});
答案 1 :(得分:0)
这看起来是您的最佳选择:https://github.com/developmentseed/node-sqlite3
请注意,我没有个人经验。但它是最受欢迎/最活跃的并支持交易(https://github.com/developmentseed/node-sqlite3/wiki/API#databaseexecsql-callback)。
找到正确的node.js模块的一个很好的起点:https://nodejsmodules.org/tags/sqlite3