5

以下はストアにあるドキュメントです。

{
    "Name": "Hibernating Rhinos", 
    "Employees": [
        { "Name": "Ayende" },
        { "Name": "John" },
        { "Name": "Bob" },
        { "Name": "Tom" },
        { "Name": "Lane" },
        { "Name": "Bill" },
        { "Name": "Tad" }
     ]
}

このドキュメントをEmployeesコレクションの有無にかかわらずロードするのは簡単ですが、内部コレクションの一部のみをロードするにはどうすればよいでしょうか? たとえば、最初の 5 項目:

{
    "Name": "Hibernating Rhinos", 
    "Employees": [
        { "Name": "Ayende" },
        { "Name": "John" },
        { "Name": "Bob" },
        { "Name": "Tom" },
        { "Name": "Lane" }
     ]
}
4

2 に答える 2

6

直接ではありません。

できることは、次のインデックスを定義することです。

docs.Companies の会社から
会社の従業員から。従業員
select new { 会社 = company.Name、従業員 = emp }

次に、最初の 5 人の従業員のインデックスを照会できます。

于 2010-08-01T18:54:39.163 に答える
0

RavenDB の Live Projections 機能を使用できます。このクエリをインデックスの TransformResults 関数に入れます。ドキュメント名が Company であると仮定します。

TransformResults = (database, companies) => from c in companies
                                        select new {Company=c,Employees=c.Employees.Take(5)};
于 2012-12-29T04:21:24.003 に答える