NoSQL/MongoDB

MongoDB 배열 업데이트

허석구 2017. 6. 29. 06:00

배열 속 해당 document를 가져올때는 elemMatch를 사용하지만,

document의 속성을 바꿔줄때는 $를 것을 사용한다.


Criteria criteria = new Criteria("Vo_Name");
criteria.is("연습");
Query query = new Query(criteria);

query.addCriteria(
        criteria.where("pro_Party").elemMatch(Criteria.where("member_Email").is("abc@gmail.com")));
	query.fields().include("mem_Email");

	Update update = new Update();
	update.set("pro_Party.$.pro_Stage", productVO.getPro_Stage());
	update.set("pro_Party.$.mem_BuyDate", productVO.getMem_BuyDate());
	update.set("pro_Party.$.mem_BuyNumber", productVO.getMem_BuyNumber());

mongoDAO.update(query, update, "collective");

elemMatch를 이용하여 배열 속 해당 document를 선택해주고 

그 document의 속성을 변경해줄때는 .$.를 사용한다.