Welche Methode hat neo4j.rb
, um den Wert <id>
aus der Neo4j
Datenbank zu erhalten?Wie erhalten Sie den Wert des Feldes <id> von Neo4j-Datenbank von neo4j.rb in Rails?
Antwort
Es hängt davon ab, was Sie meinen;)
Das Neo4j.rb Projekt hat zwei Hauptedelsteine: neo4j
und neo4j-core
. Wenn Sie den Edelstein neo4j
verwenden, um ActiveNode
/ActiveRel
Objekte in Neo4j zu erstellen, können Sie entweder die node_object.id
/node_object.uuid
-Methoden verwenden, um die vom Edelstein generierte UUID oder die node_object.neo_id
-Methode abzurufen, um die von der Datenbank generierte Neo-ID zu erhalten. Der Edelstein generiert UUIDs, da interne Neo4j-IDs wiederverwendet werden können und daher nicht die beste Option für externe Referenzen auf Knoten bieten. Beachten Sie jedoch, dass bei Verwendung der Methode id_property
in einem Modell das Verhalten der vom Juwel generierten IDs geändert wird.
Das neo4j-core
Juwel ermöglicht es Ihnen, Cypher Abfragen direkt und von dort können Sie bekommen, was Sie wollen. Ein Beispiel:
# Gets the Neo4j internal ID
Neo4j::Session.current.query("MATCH (n) WHERE n.name = 'Sue' RETURN ID(n)")
Vielen Dank. Es war sehr detailliert und nützlich. –