1

コレクション プロパティに格納されているオブジェクトに大まかに関連して、「子ドキュメント」という用語を使用しています。これらの 2 つのクラスが与えられた場合:

public class Foo
{
    public int Id { get; set; }
    public string Name { get; set; }
    public IList<Bar> Bars { get; set; }
}

public class Bar
{
    public string Name { get; set; }
    public string Description { get; set; }
    public string SomeString { get; set; }
    public int SomeInt { get; set; }
}

Name プロパティまたは Description プロパティのいずれかに「バラ」という用語が含まれるバーを照会したいと思います。Bar は Foo 内に格納されることに注意してください。

これは 2 つの質問です。

  1. Foo 型のコレクションに対してクエリを使用して Bars (「子ドキュメント」) を返すことはできますか? 名前に「バラ」が含まれるバーのコレクションを取得したいので、他のバーはスキップする必要があります。Foos (集約ルート) を返してほしくありません。
  2. もしそうなら、全文検索でそれを行う方法は?

#1に関しては、MongoDBではそのようなことは不可能であることを知っています.FooとBarを別々に保存するか、いずれかのBarの名前に「バラ」が含まれているFooをクエリしてから、クライアントで何かを行う必要があります. . でも、RavenDB には Live Projections / TransformResults があるので、もしかするとそれは可能だろうと思っていました。

4

1 に答える 1