Couchbase Móvil

Couchbase Mobile Parte 2: Vistas de Couchbase Lite (¡índices!)

Este blog se publicó originalmente en el blog personal de Roi Katz. Por favor, pulse aquí para encontrar el post original.

En el parte 1 hemos construido nuestra pequeña pero genial aplicación, incluso la hemos replicado en otro Couchbase Lite.

¿Y ahora qué? Queremos usarlo de verdad.

¿Cómo se utiliza una base de datos? Bueno, al menos para "obtener" los datos hay un par de opciones:

  1. Obtener por clave primaria
  2. Obtener por un índice (o "seleccionándolo" donde x)

Hasta ahora, en nuestra sencilla aplicación de ejemplo sólo podíamos utilizar la "clave primaria" para acceder a nuestros datos y recuperarlos.

Pero no es la única forma de obtener datos de Couchbase Lite.

En esta parte aprenderemos los fundamentos de la indexación de Couchbase Lite. AKA Vistas.

En las vistas, ejecutamos nuestras consultas.

Así que tenemos que hacerlo:

  1. Crear vista
  2. Ejecutar consultas en la vista
  3. Obtenga los resultados

Construiremos nuestro caso de uso - de cómo usar "vistas" en Couchbase Lite.

  1. Inicie un nuevo proyecto WPF.
  1. Añadir el paquete Nuget Couchbase.Lite
  1. Copie ese XAML

Lo que se traduce en

GUI genera a partir del XAML anterior
  1. Después de obtener la interfaz de usuario básica, que se puede explorar más tarde (no hay mucho aquí realmente), vamos a ir al código real.

Después de arrancar e inicializar la base de datos, vamos a definir nuestras vistas.

En este caso he definido 1 vista - sólo para mostrar cómo configurar las cosas.

Lo que puedes ver aquí, que una vez que recupero un nombre de la _base de datos puedo definir un mapa sobre él, un mapa es básicamente una proyección y filtrado.

En el ejemplo anterior, he creado una vista llamada "docs_by_city", le he asignado un delegado, he comprobado si existe alguna clave ("City") y la he emitido al índice. Así de sencillo.

Acabamos de crear nuestro índice que para cada documento contiene una propiedad llamada Ciudad - emite todo el documento, puedes elegir emitir lo que quieras, depende de los requisitos de la aplicación.

Puede ajustarse para mejorar el rendimiento y reducir el tamaño del índice.

También puede poner como clave cualquier cadena que desee o componer su índice a partir de varias propiedades para satisfacer necesidades especiales.

Nunca es bueno almacenar todo el documento en el índice, ya que básicamente se hace una copia del documento dentro del índice. Intenta mantener tu índice lo más pequeño posible. Pero si usted necesita algún tipo de índice que tiene el documento completo como resultado, para el rendimiento es mejor mantener el documento en el índice en lugar de acceder a la propiedad result.Document - para mismo algunas idas y vueltas a la base de datos.

El número "1" aquí, es la versión del índice. Durante el desarrollo, si cambias la función de mapa, también necesitas incrementar ese número (en caso de que no hayas borrado toda la base de datos), para reconstruir el índice.

Hay 2 consultas especiales.

  1. Obtener el recuento de todos los documentos. (con _database.DocumentCount)
  2. Obtener todos los documentos. (con _database.CreateAllDocumentsQuery())

Después de definir nuestra vista (*index) podemos empezar a escribir el código y utilizarla.

  1. El uso, es bastante simple sólo 5 pasos.
  2. Obtener la vista
  3. Crear una consulta en la vista
  4. Defina sus criterios sobre el índice
  5. Ejecutarlo
  6. Léalo

En código parece aún más sencillo:

Quiero la "Ciudad" exacta por lo que he escrito en la clave de inicio y fin el mismo valor.

Ejecuto la consulta y compruebo si hay algún resultado.

A continuación, "embellezco" el resultado (para cada valor) y lo devuelvo como una matriz JSON.

Por favor, preste atención aquí que no estoy usando result.Document sino result.Value, ya que usando result.Document no usará el índice e irá a consultar la base de datos para cada resultado.

Por lo tanto, por motivos de rendimiento, utilice result.key, result.value o result.DocumentId.

Ahora sólo tienes que añadir esa parte para generar algunos datos...

Y ya estamos listos.

Así se hace una vista sencilla

Por supuesto que tenemos más por venir sobre las vistas de Couchbase lite, es sólo el comienzo.

Por supuesto, tenemos que crear las propiedades adecuadas, por lo que para el proyecto completo, por favor revise mi GitHub página.

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

Autor

Publicado por Roi Katz, Arquitecto de soluciones, Couchbase

Roi es Couchbase Solution Architect, desarrollador de software y arquitecto con más de 10 años de amplia experiencia en la industria. Ha sido formador y autor de cursos con especialización en Sistemas Big Data, Bases de Datos NoSQL, Couchbase, Arquitectura Distribuida y Cloud Computing.

1 Comentarios

  1. ¿Qué es _database aquí? Estoy tratando de implementar las cosas anteriores en mi aplicación nodeJs con el servidor couchbase y una vez puse nombre del cubo en lugar de _database pero no pude conseguir nada bien.

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.