La manipulación de datos por lotes puede ser muy útil para todo tipo de operaciones. La buena noticia es que DML (lenguaje de manipulación de datos) en N1QL proporciona soporte completo para, no sólo operaciones singleton, sino para una poderosa transformación de datos por lotes. Aquí hay algunos ejemplos poderosos;

- UPDATE puede ayudarte a añadir e inicializar un nuevo atributo en documentos que no tienen el atributo last_updated. .

O dividir un atributo name en nombre y apellidos.

 

- La sentencia INSERT puede agruparse de varias maneras. He aquí un ejemplo con VALORES.

También suelo copiar los datos de mis cubos a otros cubos para experimentarlos utilizando INSERT. INSERT con SELECT mueve grandes conjuntos de datos con una sola sentencia. He aquí cómo crear una copia de bucket_1 bajo un nuevo nombre bucket_2.

También utilizo UPSERT para fusionar los cambios de bucket_1 a bucket_2 a medida que bucket_1 cambia.

 

Las actualizaciones por lotes y las operaciones masivas pueden ser difíciles de codificar sin las flexibilidades de SQL. N1QL te permite hacer todo eso y más con JSON.

Encontrará más información sobre las declaraciones LMD aquí:

INSERTAR: http://developer.couchbase.com/documentation/server/4.1/n1ql/n1ql-language-reference/insert.html

ACTUALIZACIÓN: http://developer.couchbase.com/documentation/server/4.1/n1ql/n1ql-language-reference/update.html

UPSERT: http://developer.couchbase.com/documentation/server/4.1/n1ql/n1ql-language-reference/upsert.html

FUSIONAR: http://developer.couchbase.com/documentation/server/4.1/n1ql/n1ql-language-reference/merge.html

BORRAR: http://developer.couchbase.com/documentation/server/4.1/n1ql/n1ql-language-reference/delete.html

 

Feliz prueba.

-cihan

Autor

Publicado por Cihan Biyikoglu, Director de Gestión de Productos, Couchbase

Cihan Biyikoglu es director de gestión de productos en Couchbase, responsable del producto Couchbase Server. Cihan es un entusiasta de los grandes datos que aporta más de veinte años de experiencia al equipo de productos de Redis Labs. Cihan comenzó su carrera como desarrollador de C/C++.

Dejar una respuesta