O CouchDB suporta várias consultas de intervalo?

Como as consultas de vários intervalos são implementadas no CouchDB? Para uma condição de intervalo único, a combinação startkey e endkey funciona bem, mas a mesma coisa não está funcionando com uma condição de vários intervalos.

Minha função View é assim:

"function(doc){
       if ((doc['couchrest-type'] == 'Item') 
    && doc['loan_name']&& doc['loan_period']&&    
                      doc['loan_amount']) 
     {  emit([doc['template_id'],
          doc['loan_name'],doc['loan_period'],
           doc['loan_amount']],null);}}"

Eu preciso pegar os documentos inteiros comloan_period > 5 eloan_amount > 30000. Meus parâmetros startkey e endkey são assim:

params = {:startkey =>["7446567e45dc5155353736cb3d6041c0",nil,5,30000],
  :endkey=>["7446567e45dc5155353736cb3d6041c0",{},{},{}],:include_docs => true}  

Aqui, não estou obtendo o resultado desejado. Acho que meus parâmetros startkey e endkey estão errados. Alguém pode me ajudar?

questionAnswers(4)

yourAnswerToTheQuestion