pierwsze:
klucz = [ "US"] nie będzie działać na tablicy Klawisz [ "US", "Nowy Jork"], bo szukasz klucza, który jest dokładne [ "US "]. Zamiast tego trzeba użyć
startkey=["US"]&endkey=["US",{}]
następnie te klucze są w wynikowym:
["DE","Bavaria","Munich"] <---- NO ! "DE" is out of Range of startkey
["US","FL","Miami"] <---- YES, starts with "US"
["US","NY","New York"] <---- YES, starts with "US"
["VE","XX","Vencuela City"] <---- NO ! "VE" is out of Range of endkey
Działa również:
startkey=["US","FL"]&endkey=["US","FL",{}]
wynik:
["DE","Bavaria","Munich"] <---- NO ! "DE" is out of Range of startkey
["US","FL","Miami"] <---- YES, starts with "US","FL"
["US","NY","New York"] <---- NO, "US","NY" is out of Range of endkey
["VE","XX","Vencuela City"] <---- NO ! "VE" is out of Range of endkey
drugie: Nie można mieć wykroje na lewej stronie .. więc trzeba napisać trochę więcej emituje: (nie trzeba emitować drugi i trzeci macierzach element, jeśli nie trzeba go zapytać)
widok "byStateCityCountry":
emit([doc.address.state, doc.address.city,address.country], doc);
view "byCityStateCountry":
emit([address.city,doc.address.state, doc.address.country], doc);
prostu umieścić flagę w pierwszej kolejności, aby ustalić rodzaj zapytania, więc można zrobić wszystko w jednym widoku:
emit([1,address.country,doc.address.state, doc.address.city], doc);
emit([2,doc.address.state, doc.address.city,address.country], doc);
emit([3,address.city,doc.address.state, doc.address.country], doc);
Zastosowanie:
?startkey=[1,"US"]&endkey=[1,"US",{}]
?startkey=[2,"FL"]&endkey=[2,"FL",{}]
?startkey=[3,"Miami"]&endkey=[3,"Miami",{}]
Uwaga: „Nie można mieć spacje po lewej stronie ...” - uważam, że jest odwrotnie, jeśli malejąco = true – Matt
wiem, że to jest stary, ale go należy również zauważyć, że jeśli twoja tablica kluczy zawiera wiele elementów, staje się bardziej złożona. przyjmując dane w widoku z tych klawiszy: 'startkey == [a, 11], a endkey == [c, 11]: ' ' [a, 10], [A 11] < - startkey, [a, 12], [b, 10], [b, 11], [b, 12], [c, 10], [c, 11] <- endkey, [c, 12] ' (Zostaną zwrócone wszystkie elementy znajdujące się między kluczem startkey i kluczem końca.). – AdriVelaz