더 많은 업데이트를 연결하는 방법이 있습니까? 예를 들어 동일한 요소에서 더 많은 값을 변경하고 싶습니다. 그래서 이것을 가지고 ...Mongodb, concat 더 많은 쿼리 하나의 업데이트
{
cc: [
{ user_id: "1", hasSeen:true}
,{ user_id: "2", hasSeen:false}
,{ user_id: "3", hasSeen:false}
]
,conversation: [{
user_id: "1",
text: "message by 1, to 2and3"
}]
}
... 나는 새로운 대화 개체를 푸시하고 모든 hasSeen 값을 변경하고 싶습니다.
첫 번째 사항은 아무런 문제가 없습니다. 단지 새 대화 개체 만 푸시합니다. 그리고 그것은 작동합니다 ...
...update(
{ _id : _param.conversation_id }
,{ $push:{ conversation:{user_id:"2",text:"message by 2, to 1,3"} }}
)
.exec(function(err, numAffected, rawResponse) {
});
그러나 나는 또한 "hasSeen"값을 동시에 변경하고 싶습니다. 그것은 가능한가? 하나의 검색어로이 작업을 수행 할 수 있습니까? 아니면 두 개의 쿼리로 나누어야합니까?
ps : 나는 몽구스를 사용합니다.
감사합니다. Sammaye! –
@CodeGirl 한 가지 방법은 이것이 원자 적이어야하는 경우 실제로이 클라이언트 측을 업데이트하고 한 번에 save()를 사용하여 문서를 푸시하는 것입니다. 그러면 경쟁 조건이 생성 될 수 있습니다 – Sammaye