es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

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?

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Para eliminar un elemento de un array en redisgraph, puedes utilizar la función Cypher FILTER. La función FILTER 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 usar FILTER para eliminar something1 de la lista address en el nodo Person.

    Aquí tienes la consulta Cypher para eliminar something1:

    MATCH (p:Person)
    SET p.address = FILTER(x IN p.address WHERE x <> 'something1')
    RETURN p.address
    

    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 propiedad address de cada nodo Person seleccionado en un nuevo array donde se incluyen todos los elementos excepto something1
    • RETURN p.address devuelve la nueva propiedad address del nodo Person

    Esto eliminará something1 de la lista address en el nodo Person.

Comments are closed.