Jeg tror jeg forstår hvad du spørger om. Svaret er ret ligetil med Kort/Reducer.
Lad os sige, at du har følgende persondokumenter:
{ "name":"Person A", "interesser" [ "computere", "fiskeri", "sport" ]}{ "name":"Person B", "interesser" [ "computere" , "gaming" ]}{ "name":"Person C", "interesser" [ "vandreture", "sport" ]}{ "name":"Person D", "interesser" [ "spil" ]}
Du vil sandsynligvis gerne udsende din nøgle som interessen med værdien som personens navn (eller _id
).
funktion (doc) { for (var x =0, len =doc.interests.length; x
Dine visningsresultater ville se sådan ud:
- computere => Person A
- computere => Person B
- fiskeri => Person A
- gaming => Person B
- gaming => Person D
- vandring => Person C
- sport => Person A
- sport => Person C
For at få en liste over personer med computere som interesse kan du blot sende key="computers"
som en del af forespørgselsstrengen.
Hvis du vil tilføje en reduktionsfunktion til dit kort, kan du blot bruge _count
(genvej til at bruge en kompileret reduktionsfunktion), og du kan hente en optælling af alle personer med en bestemt interesse, du kan endda bruge den til at begrænse, hvilke interesser du forespørger på for at opbygge dine relationer.