我想在我的 nodejs 项目中使用 sqlite 数据库。我正在寻找一个用于 sqlite 的模块,它将为事务和异步提供操作支持
问问题
726 次
2 回答
2
另一种选择是Knex。它是一个轻量级的查询构建器,支持 sqlite、mysql 和 postgres,有很好的文档并且正在积极开发中。Knex 还支持 Promise 和回调,这是一个不错的选择。
通过简单的 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.');
});
于 2013-08-25T13:07:12.020 回答
0
这看起来是您最好的选择:https ://github.com/developmentseed/node-sqlite3
请注意,我没有个人经验。但它是最流行/最活跃的并且支持事务(https://github.com/developmentseed/node-sqlite3/wiki/API#databaseexecsql-callback)。
找到正确的 node.js 模块的一个很好的起点:https ://nodejsmodules.org/tags/sqlite3
于 2013-08-25T12:44:10.920 回答