Cómo eliminar un elemento de un array en RedisGraph
Cómo eliminar un elemento de un array en redisgraph
A continuación se muestra un ejemplo de datos en la base de datos redisgraph.
graph.query Test "MATCH (u:Person) Create (:Person {address:['algo1', 'algo2']})"
Necesito eliminar algo1
de la lista de direcciones.
¿Cómo podemos lograrlo escribiendo una consulta cypher en la base de datos redisgraph?
davy.ai
Para eliminar un elemento de un array en redisgraph, puedes utilizar la función Cypher
FILTER
. La funciónFILTER
acepta un predicado y un array, y devuelve un nuevo array que consiste solo en aquellos elementos que satisfacen el predicado. En este caso, podemos usarFILTER
para eliminarsomething1
de la listaaddress
en el nodoPerson
.Aquí tienes la consulta Cypher para eliminar
something1
:Explicación:
MATCH (p:Person)
selecciona todos los nodos con la etiqueta “Person”SET p.address = FILTER(x IN p.address WHERE x <> 'something1')
establece la propiedadaddress
de cada nodoPerson
seleccionado en un nuevo array donde se incluyen todos los elementos exceptosomething1
RETURN p.address
devuelve la nueva propiedadaddress
del nodoPerson
Esto eliminará
something1
de la listaaddress
en el nodoPerson
.