2016-06-29 2 views
-1

부모님 문서의 중복을 말했기 때문에 child_ids의 목록을 보관하지 않고 모든 자식이 스키마 내의 부모 문서에 대한 참조를 가지고 있다면 부모 문서를 삭제할 때 어떻게해야합니까?몽구스에서 부모 문서를 삭제하는 가장 좋은 방법은 무엇입니까?

삭제하기 전에 해당 부모 ID가있는 모든 하위 문서를 쿼리해야합니다. 맞습니까? 그런 다음 모두 삭제하십시오.

+0

* "삭제하기 전에 그 내부에있는 해당 상위 ID를 가진 모든 하위 문서를 쿼리해야하며 정확합니까? 그리고 모두 삭제하십시오."* yup. mongodb는 실제로 foriegn 키와 제약 개념을 갖고 있지 않으므로 어느 것이 든 일어날 것입니다. mongoose가 어떤 종류의 것을 가지고 있는지 아닌지 나는 확신하지 못한다. –

+0

관련 항목 (아직 변경되었을 수 있음) : http://stackoverflow.com/questions/14348516/cascade-style-delete-in-mongoose –

답변

0

당신은 같은 것을 할 수 있습니다 부모 \ 또는 자녀를 삭제할 때이 오류에 대한 몇 가지 롤백을해야하는 경우

Parent.remove({_id: <someID>}, function(err){ 
     Children.remove({_parent: <parentID>}, function(err) { 
     }) 
    }) 

당신은 그것을 추가해야합니다.

관련 문제