`startkey_docid` Comportamento

Hoje, recebemos uma pergunta interessante no Stack Overflow (http://stackoverflow.com/q/20083932/98509) em relação ao uso correto de startkey_docid. A pergunta foi solicitada quando o usuário estava passando um tecla de início e startkey_docidNo entanto, o startkey_docid pareciam ser ignorados pela visualização. É importante perceber que o principal caso de uso do startkey_docid é permitir que você pagine suas solicitações de exibição (consulte: https://www.couchbase.com/blog/pagination-couchbasepassando em um tecla de início e startkey_docid que corresponde ao último documento da sua última página, o que permite paginar corretamente no caso de vários documentos estarem emitindo a mesma chave. Como o uso correto de startkey_docid está no topo de minha mente, achei que este seria um bom momento para explicar o comportamento para o futuro.

Aqui está uma lista rápida dos aspectos importantes a serem lembrados startkey_docid:

  1. startkey_docid será totalmente ignorado se tecla de início é omitido.
  2. startkey_docid só funcionará corretamente se você especificar um tecla de início que corresponde exatamente aos documentos que estão indexados na exibição.
  3. startkey_docid deve corresponder exatamente a um dos docids nos resultados que correspondem exatamente ao seu tecla de início. Se não houver correspondência, os resultados começarão na chave a seguir.

Dica: se você precisar verificar quantas linhas de correspondência exata serão retornadas para um determinado tecla de inícioTente primeiro executar uma solicitação de exibição com o chave em vez de tecla de início.

P.S. A semântica para chave final e endkey_docid se comportam de forma idêntica a tecla de início e startkey_docid conforme especificado aqui.

Abraços, Brett

Compartilhe este artigo
Receba atualizações do blog do Couchbase em sua caixa de entrada
Esse campo é obrigatório.

Autor

Postado por Brett Lawson, engenheiro de software principal, Couchbase

Brett Lawson é engenheiro de software principal da Couchbase. Brett é responsável pelo projeto e desenvolvimento dos clientes Node.js e PHP do Couchbase, além de desempenhar um papel no projeto e desenvolvimento da biblioteca C, libcouchbase.

4 Comentários

  1. Brett, no exemplo do stackoverflow, essas três condições são atendidas e as três primeiras chaves são idênticas. Mesmo usando sua dica profissional, as 3 chaves idênticas estão sendo retornadas. Você poderia responder no stackoverflow como esse caso pode não estar atendendo a um dos três critérios? Parece que sim, mas talvez haja um detalhe que esteja faltando.

    1. Em sua pergunta no StackOverflow, sua startkey não corresponde exatamente a uma entrada da exibição. Nesse caso, startkey_docid será essencialmente ignorado, conforme mencionado no ponto #2 e no final de #3.
      Abraços, Brett

  2. Perdi quase um dia com isso. Adicionar isso ao documento seria ótimo para novos usuários do couchbase!
    De qualquer forma, muito obrigado!
    Fred

Deixe um comentário

Pronto para começar a usar o Couchbase Capella?

Iniciar a construção

Confira nosso portal do desenvolvedor para explorar o NoSQL, procurar recursos e começar a usar os tutoriais.

Use o Capella gratuitamente

Comece a trabalhar com o Couchbase em apenas alguns cliques. O Capella DBaaS é a maneira mais fácil e rápida de começar.

Entre em contato

Deseja saber mais sobre as ofertas do Couchbase? Deixe-nos ajudar.