私はしばらくこれに苦労してきました。
clients/513
次のようなクライアント オブジェクト ( ) があります。
{
"Risks": [
{
"Id": "421eacf0-14e9-4004-ab0b-95d20e976aac",
"RiskFactor": "ElectricalEquipment",
"Description": "Should be allowed to play with electronics."
},
{
"Id": "4bbecbe2-acfc-45c3-b87a-3321e1eca95a",
"RiskFactor": "ViolenceToStaffVerbal",
"Description": "Tourettes"
}
}
次のコードを持つインデックスを作成しました。
地図
from c in docs.Clients
from r in c.Risks
select new { ClientId = c.Id, RiskId = r.Id }
変身
from c in results
from r in c.Risks
select new { ClientId = c.Id, RiskId = r.Id }
MAPは、検索できるようにするプロパティを定義するだけであることを理解していると思います。TRANSFORM は、実際のデータを特定の形で返します。
ClientId、RiskId、およびおそらくリスクに関連するその他のプロパティを返して実行できる.As<ViewModel>()
ようにしたいのですが、クエリを実行すると一貫性のない結果が得られるようです。(クエリを実行する回数に応じて、返される結果の数を変更するのが好きです。場合によっては 4 回、場合によっては 5 回です)。
また、RiskId によるフィルタリングは、指定された ID 以外の ID を持つ 1 つ、場合によっては複数のリスクを返すようです。
どんな助けでも大歓迎です。