2013-02-20 2 views
2

RavenDB로 깊은 그래프 객체의 동적 필드를 쿼리 할 수 ​​있도록 중첩 된 문서에 대한 동적 필드 인덱싱을 어떻게 처리합니까?RavenDB로 중첩 된 문서에 대한 동적 필드 인덱싱

문서에서 예제를 사용 : 제품의 속성의 값이 또한 제품입니다 http://ravendb.net/docs/2.0/client-api/advanced/dynamic-fields

경우는 어떻게? 모든 내용이 내용 인이고 동적 엔터티 콘텐츠 (DDD 사용자의 경우)가 다른 항목 (딥 그래프)을 포함 할 수있는 동적 필드가있는 CMS를 생각해보십시오.

관계형 데이터베이스 환경에서와 마찬가지로 하위 내용을 집계하는 것이 문서 데이터베이스의 핵심 개념 중 하나이기 때문에 이는 매우 중요합니다.

답변

1

데이터가 계층 적 데이터와 같은 패턴을 따르는 경우 재귀 패턴에 따라 인덱스를 지정하려면 recurse into that data을 사용할 수 있습니다.

이미 방법을 발견했습니다 index dynamic fields. 이러한 기술을 결합하여 설명 할 수있는 대부분의 패턴을 얻을 수 있습니다.

데이터가 임의로 동적 인 경우 (즉, 개체 구조가 미리 무엇인지 알 수있는 방법이 없다면) 어떻게 특정 필드에 도달 할 수 있을지 알 수 없으므로 특정 필드에 도달하는 데 어려움을 겪을 것입니다. 그것을 액세스하십시오.

당신은 임의로 동적 일 수없고 동시에 완전히 색인을 생성 할 수 없습니다.

+0

재귀 기능을 이용해 주셔서 감사합니다. 나는 그것이 내 시나리오에서 효과가 있을지 모르겠다. 어쨌든, 나는 내 문제를 해결하기 위해 다른 방법을 사용했고, 내 문제는 임의적으로 동적 인 데이터에 관한 것입니다. 내가 찾은 해결책은 RavenDB와 함께 제공되는 HTTP API를 사용하는 것이다. – W3Max

+0

HTTP API를 사용하면 어떻게 색인을 생성합니까? –

+0

좋은 질문은 ... 대답은 내가 더 이상 C# 클래스를 저장하지 않는다는 것입니다. HTTP API를 사용하면 C# 모델에서 이름/값 컬렉션 (예 : 참조 된 제품 예제)에 중첩 된 데이터를 나타내는 잘 정의 된 구조 (JSON 객체)를 생성 (런타임에 -이 구조를 알지 못함) 할 수 있습니다. – W3Max

관련 문제