> I wonder why there is no one care about it. I will assume you aren't a troll. I would think that almost all couch users know about ACID and use Couch understanding the trade-offs. CouchDB has distributed features that would not be possible with transactions. If transactions are necessary for your application then choose a DB with transactions.
On Wed, Dec 19, 2012 at 7:37 PM, Jake Verbaten <[email protected]> wrote: > Transactions are trivial when supported by your database engine. > > Like [levelup's .batch()][1] > > var ops = [ > { type: 'del', key: 'father' } > , { type: 'put', key: 'name', value: 'Yuri Irsenovich Kim' } > , { type: 'put', key: 'dob', value: '16 February 1941' } > , { type: 'put', key: 'spouse', value: 'Kim Young-sook' } > , { type: 'put', key: 'occupation', value: 'Clown' } > ] > > db.batch(ops, function (err) { > if (err) return console.log('Ooops!', err) > console.log('Great success dear leader!') > }) > > If your database driver doesn't give you a sensible clean api then just > write one. > > If your database doesn't support transactions then your screwed. > > [1]: https://github.com/rvagg/node-levelup#batch > > > On Wed, Dec 19, 2012 at 7:01 PM, Charlie Circle <[email protected]> wrote: >> >> For serious web applications, transaction is crucial. >> >> But node's asynchronous nature do not obey transaction rule, I wonder why >> there is no one care about it. >> >> In synchronous applications, you start your transaction, and do database >> operation step by step, when done, just commit it. >> >> While in node, you must start transaction a place, and commit it in a >> callback chain in a deep level. >> >> But it's not the worst thing, because node share a single connection in a >> process, we can not sure which operation is in what transaction, so all >> messed must. >> >> I've seen a solution in npm, which let you execute database operation in >> sequence, let us go back to synchronous age, not so scalable, right? >> >> Is there any new idea? >> >> -- >> Job Board: http://jobs.nodejs.org/ >> Posting guidelines: >> https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines >> You received this message because you are subscribed to the Google >> Groups "nodejs" group. >> To post to this group, send email to [email protected] >> To unsubscribe from this group, send email to >> [email protected] >> For more options, visit this group at >> http://groups.google.com/group/nodejs?hl=en?hl=en > > > -- > Job Board: http://jobs.nodejs.org/ > Posting guidelines: > https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines > You received this message because you are subscribed to the Google > Groups "nodejs" group. > To post to this group, send email to [email protected] > To unsubscribe from this group, send email to > [email protected] > For more options, visit this group at > http://groups.google.com/group/nodejs?hl=en?hl=en -- Job Board: http://jobs.nodejs.org/ Posting guidelines: https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines You received this message because you are subscribed to the Google Groups "nodejs" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/nodejs?hl=en?hl=en
