4

私はこれが少しばかげた質問かもしれないことを知っています、おそらくそれを間違ってやっています、しかし私はとにかく尋ねます。

一連の階層ドキュメントがあるとしましょう。階層内での位置について含まれている唯一の情報は、親IDです。nullの場合、トップに到達しています。

親と子を取得するのは簡単な部分です。

私がやりたいのは、すべての子孫と祖先を照会することです。私はこの質問に別れなければならないと思います。1)祖先をドキュメントに移動させる方法は、再帰クエリを作成する方法ですか?親がnullになるまで親の親を取得します。

2)祖先IDをドキュメントにマップできるインデックス/プロジェクションを作成する方法はありますか。次に、祖先IDまたはドキュメントIDを照会しますか?そのインデックスを取得できれば、子を取得したいドキュメントIDと等しいドキュメントIDの祖先IDですべてのドキュメントを取得すると簡単に言うことができるからです。

私がこの構造を持っているとしましょう。

ドキュメント1
ドキュメント1.1
ドキュメント1.1.1
ドキュメント1.1.2
ドキュメント1.2
ドキュメント1.2.1

このようなインデックスが欲しい

DocumentID
1.1
1.1.1
1.1.1
1.1.2
1.1.2
1.2
1.2.11.2.1
_

AncestorID 1
1
1.1
1
1.1
1
1.2

4

1 に答える 1

4

これについては、RavenDBメーリングリストで詳しく説明されています:https://groups.google.com/d/topic/ravendb/ptBYL9A5PA8/discussion

選択された解決策は、各文書に完全な祖先を置くことを含んでいたと私は信じています。

于 2011-08-11T14:37:02.620 に答える