Sin categoría

`startkey_docid` Comportamiento

Hoy nos ha surgido una pregunta interesante en Stack Overflow (https://stackoverflow.com/q/20083932/98509) en relación con el uso correcto de startkey_docid. La pregunta se formuló cuando el usuario estaba introduciendo una contraseña válida. tecla de inicio y startkey_docidSin embargo, el startkey_docid parecían ser ignorados por la vista. Es importante darse cuenta de que el principal caso de uso del startkey_docid es permitirle paginar sus peticiones de vista (véase: https://www.couchbase.com/blog/pagination-couchbasepasando un tecla de inicio y startkey_docid que coincide con el último documento de su última página, lo que le permite paginar correctamente en el caso de que numerosos documentos emitan la misma clave. Dado que el uso correcto de startkey_docid está en mi mente, pensé que este sería un buen momento para explicar el comportamiento para el futuro.

He aquí una lista rápida de las cosas importantes que hay que recordar startkey_docid:

  1. startkey_docid se ignorará por completo si tecla de inicio se omite.
  2. startkey_docid sólo funcionará correctamente si se especifica un tecla de inicio que coincide exactamente con los documentos indexados en la vista.
  3. startkey_docid se espera que coincida exactamente con uno de los docid de los resultados que coincidan exactamente con su tecla de inicio. Si no se produce ninguna coincidencia, los resultados comenzarán en la siguiente tecla.

Sugerencia: Si necesita verificar cuántas filas coincidentes exactas se van a devolver para un determinado campo tecla de iniciopruebe primero a ejecutar una solicitud de vista con el método clave en lugar de tecla de inicio.

P.D. La semántica de endkey y endkey_docid se comportan de forma idéntica a tecla de inicio y startkey_docid como se especifica aquí.

Saludos, Brett

Comparte este artículo
Recibe actualizaciones del blog de Couchbase en tu bandeja de entrada
Este campo es obligatorio.

Author

Posted by Brett Lawson

Brett Lawson es Ingeniero de Software Principal en Couchbase. Brett es responsable del diseño y desarrollo de los clientes Node.js y PHP de Couchbase, además de participar en el diseño y desarrollo de la biblioteca C, libcouchbase.

4 Comentarios

  1. Brett, en el ejemplo de stackoverflow se cumplen esas 3 condiciones y las 3 primeras claves son idénticas. Incluso usando tu Pro-tip se devuelven las 3 claves idénticas. ¿Podrías responder en stackoverflow cómo es posible que ese caso no esté cumpliendo uno de los 3 criterios? Parece que es así, pero tal vez hay un detalle que falta.

    1. En su pregunta de StackOverflow, su startkey no coincide exactamente con una entrada de la vista. En este caso, startkey_docid será esencialmente ignorado como se menciona en el punto #2 y al final de #3.
      Saludos, Brett

  2. Perdí casi un día en eso. Añadir esto a la documentación sería genial para los nuevos usuarios de couchbase.
    De todos modos, ¡muchas gracias!
    Fred

Deja un comentario

¿Listo para empezar con Couchbase Capella?

Empezar a construir

Consulte nuestro portal para desarrolladores para explorar NoSQL, buscar recursos y empezar con tutoriales.

Utilizar Capella gratis

Ponte manos a la obra con Couchbase en unos pocos clics. Capella DBaaS es la forma más fácil y rápida de empezar.

Póngase en contacto

¿Quieres saber más sobre las ofertas de Couchbase? Permítanos ayudarle.