2012-11-01 2 views
0

Rails, CouchRest를 사용하여 객체 컬렉션에서 매개 변수를 업데이트하려고합니다.CouchRest, Rails를 사용하여 객체 배열을 업데이트하십시오.

이 메신저 현재 무엇을하고는, update_attributes는 사용자 개체에 실패 할 때마다

class User 
    property :country 
    property :some_flag 
end 

@users = User.by_country(:key => 'country-name') 
@users.each do |user| 
    user.update_attributes({:some_flag => 'true'}) 
end 

i는 전체 트랜잭션이 롤백되고 싶어요. 내가 어떻게 이걸 얻을 수 있니?

오전 CouchDB 사용. 레일즈, CouchRest 및 아니요 ActiveRecord를 사용합니다.

답변

0

CouchDB를 명시 적으로 트랜잭션을 지원하지 않지만, 도움이 될 수있다 "대량 갱신"이라는 것이 있습니다 : 업데이트에 대한

http://wiki.apache.org/couchdb/HTTP_Bulk_Document_API#Modify_Multiple_Documents_With_a_Single_Request

예 데이터 :

{ 
    "all_or_nothing": true, 
    "docs": [ 
    {"_id": "0", "_rev": "1-62657917", "integer": 10, "string": "10"}, 
    {"_id": "1", "_rev": "2-1579510027", "integer": 2, "string": "2"}, 
    {"_id": "2", "_rev": "2-3978456339", "integer": 3, "string": "3"} 
    ] 
}