MongoDB

MongoDB upsert

macro 2011. 10. 11. 15:53
반응형

저장하려는 다큐먼트가 없으면, 바로 저장하고.
해당 다큐먼트가 존재하면, 원하는 값으로 업데이트를 시키는
atomic 연산을 수행한다. (즉, 레이스컨디션 발생없이 수행시킴) 

- PHP 에서 사용법

update 의 세번째 파라미터로 upsert 를 true 로 설정함.

 function set_company_img_to_db($img_id, $img_data){
if(!$collection = get_mongo_company_image()){
return false;
}
$image = new MongoBindata($img_data);
// upsert 수행.
$collection->update(array("img_id"=>$img_id), array("img_id"=>$img_id, "image"=>$image), array("upsert"=>true))
}

반응형