Primo:
key = [ "USA"] non funzionerà su una serie chiave [ "USA", "NY"], perché siete alla ricerca di una chiave che è ESATTO [ "USA "]. Invece, è necessario utilizzare
startkey=["US"]&endkey=["US",{}]
poi quelle chiavi sono nel gruppo di risultati:
["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
lavoro anche:
startkey=["US","FL"]&endkey=["US","FL",{}]
risultato:
["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
Secondo: Non si può avere spazi vuoti sul lato sinistro .. così si deve scrivere qualche altra emette: (non c'è bisogno di emettere la seconda e la terza serie-oggetto, se non è necessario eseguire una query)
vista "byStateCityCountry":
emit([doc.address.state, doc.address.city,address.country], doc);
vista "byCityStateCountry":
emit([address.city,doc.address.state, doc.address.country], doc);
di appena messo una bandiera in primo luogo per determinare il tipo di query, in modo da poter fare tutto in una sola vista:
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);
Usage:
?startkey=[1,"US"]&endkey=[1,"US",{}]
?startkey=[2,"FL"]&endkey=[2,"FL",{}]
?startkey=[3,"Miami"]&endkey=[3,"Miami",{}]
Nota: "Non si può avere spazi vuoti sul lato sinistro ..." - credo che è vero il contrario se si è decrescente = true – Matt
So che questo è vecchio, ma è Va anche notato che se il tuo array di chiavi ha molti elementi diventa più complesso. supponendo i seguenti dati nella tua vista con questi tasti: 'StartKey == [a, 11] e endkey == [c, 11]:' ' [a, 10], [a, 11] < - startkey, [a, 12], [b, 10], [b, 11], [b, 12], [c, 10], [c, 11] <- endkey, [c, 12] ' (verrà restituito tutto compreso tra la chiave iniziale e la chiave finale). – AdriVelaz