0
내 프로젝트에서 문서가 삭제되는 것을 방지하고 메타 데이터를 사용하여 문서를 보관 됨으로 표시하기로 결정했습니다. 나는 그렇게 코드 아래 사용 : 나는 false로 설정 메타 데이터 값을 보관 된 문서만을 반환하는 쿼리를 변경하고 싶어 그 후RavenDB 메타 데이터 쿼리
public class DeleteDocumentListener : IDocumentDeleteListener
{
public void BeforeDelete(string key, object entityInstance, RavenJObject metadata)
{
metadata.Add("Archived", true);
throw new NotSupportedException();
}
}
:
using (var session = _store.OpenSession())
{
var query = session.Advanced.DocumentQuery<Cutter>()
.WhereEquals("@metadata.Archived", false);
}
불행하게도이 쿼리 반환 빈 결과 집합을. Document에이 메타 데이터 속성이 없으면 위의 조건은 false로 처리됩니다. 내가 기대했던 것이 아니었다.
메타 데이터 속성이 없거나이 속성에 값이있는 문서를 반환하도록 쿼리를 작성하려면 어떻게해야합니까?
매우 효과적입니다. 감사드립니다. 프로젝트에있는 각 엔티티에 대해 이러한 인덱스를 구현해야하는 것은 사실입니까? 하나의 범용 색인을 가질 수 있습니까? –