0
SQLワールドでこれを行う方法はわかっていますが、これをRavenDBの土地で把握しようとしています。RavenDBマルチマップインデックス - 両方のコレクションにないドキュメント
私のような2つのクラスがあります:私はに実行しているしわがないすべてのクライアントが待機リストにあることである
AddMap<Client>(clients => from c in clients select new { Id = (string)null, ClientId = c.ClientId, Name = c.Name });
AddMap<WaitingListEntry>(wls => from wl in wls select new { Id = wl.Id, ClientId = wl.ClientId, Name = (string)null });
Reduce = results => from result in results
group result by result.ClientId
into g
select new { Id = g.Select(x => x.Id).Where(x => x != null).First(),
ClientId = g.Key,
Name = g.Select(x => x.Name).Where(x => x != null).First()
};
:
public class Client
{
public string Id {get;set;}
public string Name {get;set;}
}
public class WaitingListEntry
{
public string Id {get;set;}
public string ClientId {get;set;}
public string OtherDocumentInformation {get;set;}
}
そしてかなり単純マップ/削減を私はインデックスからそれらを除外したいと思います。私はSQLの思考に慣れており、これを達成するためにここで何をすべきかを理解することはできません。
ああ私はばかだ。私は私の変圧器の中でLoadDocumentをやっていましたが、私はMapでもそれをやることはできませんでした。ありがとう! – Jonas
LoadDocumentを使用して関連するドキュメントをインデックスすることはできますが、代わりにmap/reduceインデックスを作成することをお勧めします。たとえば、「LoadDocumentを使用すると、ロードされたドキュメントが追跡リストに追加されます。これにより、特に複数のドキュメントが同じドキュメントを追跡しているときに、非常に高価な計算が発生する可能性があります。 –