2017-10-31 5 views
1

저는 현재 MEAN 스택과 분명히 MongoDB에 대해 많은 것을 배우고 있습니다. 나는 아무것도 제거하지 못하도록 데이터베이스를 설정하려고합니다. 보관 된 컬렉션/데이터베이스처럼 모든 것이 삭제 된 것으로 표시되거나 다른 곳으로 이동됩니다. 이 작업을 수행하는 업계 표준 방법은 무엇입니까?모두가 MongoDB에서 문서 보관/삭제를 어떻게 관리합니까?

나는 그것이 내가 두 가지 옵션을 가지고있다 볼 수있는 방법은 두 모금 더 많은 질문 :

  1. 삭제 된 키를 사용하여 삭제 된 문서를 표시.

    시간 소인과 함께 타임 스탬프로 저장합니까? 배열은 필자가 추적하고 싶은 한 번 이상 삭제 될 수 있음을 의미하는 '복구'기능을 만들고 싶기 때문에 필요합니다. 이것은 해당 키를 무시하기 위해 많은 쿼리를 업데이트해야 함을 의미합니다.

  2. 다른 모음이나 데이터베이스로 문서를 이동하십시오.

    이 문서를 참조하는 다른 기능을 처리하는 데 필요한 대부분의 작업이 필요합니다. 예를 들어 시네마 데이터베이스에서 사용자를 삭제하면 이전 예약을 보관하거나 쿼리를 업데이트하여 아카이브에서 검색해야한다는 의미입니까?

나는 이것에 대한 유용한 자료를 찾지 못했습니다. 그러나 여러분이 알고 있다면, 그 방향으로 나를 가리켜주세요. :) 감사합니다.

+0

실제로이 작업을 수행하는 데"표준 "방법이 없습니다. 각 회사는 자체 방식으로합니다. 첫 번째 옵션으로는 타임 스탬프 배열을 저장할 필요없이 문서가 "삭제"되었음을 나타내는 플래그 만 저장할 수 있습니다. 그런 다음 다른 모음에서 이벤트를 저장할 수 있습니다. 예를 들면 다음과 같습니다.'{event : "deleted", date : "03/08/2017 08:00:00", documentId : "7726"}'이벤트 저장소가 있습니다. –

답변

0

감사합니다. 그의 대답은 :

"사실, 이것을 수행하는 표준적인 방법은 없습니다. 각 회사는 고유 한 방식으로 작업을 수행합니다. 첫 번째 옵션에는 타임 스탬프 배열을 저장할 필요가 없지만 플래그 {event : "deleted", date : "03/08/2017 08:00:00", documentId : "7726"}와 같은 다른 컬렉션에서 이벤트를 저장할 수 있습니다. 이벤트 저장소는 이동 방법입니다. "

관련 문제