많은 요청을 트리거하는 프로세스가있어서 여러 개의 웹 훅을 트리거합니다. 나는 모든 webhook을 받았을 때 그 과정이 완료되었다는 것을 안다. 내 모델은 이런 모습입니다.몽구스와 함께 "인종"상태입니다.
{
name: 'name',
status: 'PENDING',
children: [{
name: 'child1',
status: 'PENDING'
}, {
name: 'child2',
status: 'PENDING'
}]
}
아이디어는 webhooks가에 와서, 내가 COMPLETE
에 subdoc을 업데이트합니다. 각 업데이트가 끝날 때 다른 것들이 완료되었는지 확인하고 만약 그렇다면 부모에 status='COMPLETE'
을 설정합니다. 다른 호출이 여전히 PENDING
이지만 그 두 번째 호출이 저장되기 전에 확인한 후에 서비스 호출 중 하나를 COMPLETE
으로 표시하는 것처럼 보입니다. 두 번째 저장하면 부모에 PENDING
COMPLETE
덮어 씁니다. 내가 방금 수정하고 전체 문서마다 덮어 쓰기/자녀가 대신 절약의 객체를 저장할 때이 문제를 해결할 수 있다고 생각
methods: {
doUpdate: function(data) {
var child = this.children.id(data.childId);
child.status = 'COMPLETE';
if (_.every(this.children.status, 'COMPLETE'))
this.status = 'COMPLETE';
return this.save();
}
}