>  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

Reply via email to