Hace poco me enteré de la existencia de la palabra clave RETURNING en N1QL. Cuando lo añades al final de una consulta N1QL, esa consulta devolverá el conjunto de resultados sobre el que se ha operado. Por ejemplo, si utilizas un UPDATE, y esa consulta actualiza 10 documentos, el RETURNING devolverá esos 10 documentos.

Puede utilizarlo en sus aplicaciones .NET y .NET Core Couchbase aplicaciones.

Configuración básica

Esta entrada de blog asume que tienes Couchbase Server configurado localmente, un bucket creado llamado "default", y al menos un índice primario creado en ese bucket.

Nota: si estás teniendo problemas para empezar con Couchbase Server, o estás recibiendo errores, especialmente en lo que respecta a la indexación N1QL, es posible que desees revisar algunas de mis entradas del blog "Getting Started": Couchbase con Windows Parte 1 y Couchbase con Windows Parte 2 en particular.

Estoy utilizando un simple proyecto de consola .NET Core, con las mismas herramientas y configuración que utilicé en mi proyecto de Publicación en el blog de .NET Core con Visual Studio Code.

Codificación con .NET y N1QL

La mayor parte de este código debería ser bastante familiar si has usado .NET y Couchbase antes. Estoy creando 5 documentos que tienen (inicialmente) un campo procesado establecido en falso. El código siguiente los inserta. También los escribe en la consola con fines ilustrativos.

A continuación, este código ejecuta inmediatamente un N1QL ACTUALIZACIÓN para fijar todos los procesado a verdadero. También tiene un DEVOLVER al final para devolver los documentos y las claves.

Por último, el siguiente código imprime el JSON devuelto en la consola con fines ilustrativos.

Ejecutar el programa

Para ejecutar este programa, basta con introducir ejecutar dotnet en la ventana de la consola. Usted debe ver una salida como esta:

Console output demonstrating the N1QL RETURNING keyword

Resumen

En DEVOLVER puede ahorrarle un paso al actualizar/insertar un grupo de documentos. Pruebe a experimentar con una ACTUALIZACIÓN para ver qué ocurre. Por ejemplo, pruebe a utilizar FALTA en lugar de depender de un indicador booleano como "procesado".

Si tiene alguna pregunta, deje un comentario o póngase en contacto conmigo en Twitter.

Autor

Publicado por Matthew Groves

A Matthew D. Groves le encanta programar. No importa si se trata de C#, jQuery o PHP: enviará pull requests para cualquier cosa. Lleva codificando profesionalmente desde que escribió una aplicación de punto de venta en QuickBASIC para la pizzería de sus padres, allá por los años noventa. Actualmente trabaja como Director de Marketing de Producto para Couchbase. Su tiempo libre lo pasa con su familia, viendo a los Reds y participando en la comunidad de desarrolladores. Es autor de AOP in .NET, Pro Microservices in .NET, autor de Pluralsight y MVP de Microsoft.

Dejar una respuesta