2013-08-25 105 views
1

我想在nodejs的項目中使用sqlite數據庫。我正在尋找一個sqlite的一個模塊,這將是運營支持事務和異步有事務的Nodejs異步模塊

+1

標記收爲「我找一個模塊/工具/庫」問題是不是好#1配合。 – WiredPrairie

回答

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.'); 
});