1

我想在我的 nodejs 项目中使用 sqlite 数据库。我正在寻找一个用于 sqlite 的模块,它将为事务和异步提供操作支持

4

2 回答 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 回答