2013-08-25 2 views
1

nodejs의 프로젝트에서 sqlite 데이터베이스를 사용하고 싶습니다. 내가 가진 개인적인 경험이없는 https://github.com/developmentseed/node-sqlite3Nodejs 트랜잭션이있는 비동기 모듈

참고 :이 당신의 최선의 선택처럼 보인다 거래에 대한 지원 및 비동기

+1

질문에 유래 좋은 적합하지 않습니다 "나에게 모듈/도구/라이브러리를 찾을 수"다음은 구문의 샘플입니다. – WiredPrairie

답변

2

또 다른 옵션은 Knex입니다. 그것은 sqlite, mysql 및 postgres를 지원하고 훌륭한 문서를 보유하고 있으며 적극적으로 개발중인 경량 쿼리 빌더입니다. Knex는 약속과 콜백을 모두 지원하므로 좋은 반응을 얻습니다.

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