1

nodejs のプロジェクトで sqlite データベースを使用したいと考えています。トランザクションと非同期の動作サポートとなる sqlite のモジュールを探しています。

4

2 に答える 2

2

別のオプションはKnexです。これは、sqlite、mysql、および postgres をサポートする軽量のクエリ ビルダーであり、優れたドキュメントがあり、活発に開発されています。Knex は promise と callbacks の両方をサポートしていて、これはいい感じです。

Knex を使用したトランザクションは、単純な Transaction メソッドによってサポートされています。構文のサンプルを次に示します。

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/developmentsseed/node-sqlite3

個人的な経験はありませんのでご了承ください。しかし、これは最も人気があり、アクティブであり、トランザクションをサポートしています ( https://github.com/developmentsseed/node-sqlite3/wiki/API#databaseexecsql-callback )。

適切な node.js モジュールを見つけるための良い出発点: https://nodejsmodules.org/tags/sqlite3

于 2013-08-25T12:44:10.920 に答える