2017-04-09 1 views
1

ArangoDB에서 작성된 모든 문서에 _rev이 있지만이 개정판을 사용하여 문서의 변경 기록에 액세스하는 방법에 대한 정보는 아직 확인하지 못했습니다. 좀 더 구체적으로, 특정 문서의 개정 내역을 쿼리하여 이전 버전 또는 특정 버전을 확인하는 방법은 무엇입니까?ArangoDB에서 업데이트 내역을 어떻게 쿼리합니까?

답변

2

수정 (_rev) 속성은 마커로 표시되므로 필드가 업데이트 된시기를 알 수 있습니다. 직접 변경할 수는 없지만 컬렉션에있는 문서가 UPDATE 일 때마다 _rev 값이 업데이트됩니다.

문서화 된 값을 저장하려면 갱신 될 때 문서의 이전 값을 아카이브하는 프로세스를 구현해야합니다.

_rev 속성은 문서를 스캔하고 값이 변경되었는지 확인하는 데 매우 유용 할 수 있습니다. 문서를 깊이 비교할 필요없이보고 싶은 내용을 보려면 _rev 속성을 예상 한 것과 비교하면됩니다. 데이터베이스가 확인한 내용과 다른 _rev 값을 반환하면 코드가 변경되는 문서에 응답 할 수 있습니다.

당신은 당신이 UPDATE 또는 UPSERT 명령 (the doco)을 실행 문서의 이전 버전에 대한 액세스 권한이 기억하고 당신이 원하는대로 당신은 보관 위치로 밀어하기 위해 OLD 문서의 내용을 반환하도록 선택하거나 처리 할 수 . 해당 업데이트 후에 업데이트 된 문서는 새로운 _rev 값을받습니다.

UPDATE 또는 UPSERT 명령이 반환 된 후에도 값이 유지되지 않으므로 즉시 보관해야합니다. 그렇지 않으면 이전 문서가 손실됩니다.

관련 문제