Ich finde Neo4j3.0 Schraube Neo4j-Treiber-Syntax sehr herausfordernd. Mein Sitzungscode wird einfach nicht ausgeführt, anscheinend wird er übersprungen. Ich habe einen kleinen Testcode mit dem Beispiel aus dem Entwicklerhandbuch erstellt und überrascht, dass es das Gleiche gemacht hat. Ich habe den Knoten-Inspektor benutzt, um den Code zu betrachten, und natürlich hat er einfach den Block "Sitzung" übersprungen. offensichtlich mache ich etwas falsch ... kann mir jemand sagen was es ist ?? ... der code steht unten: ..... der code druckte erst die erste console.log dann quittieren.neo4j-Treiber-Sitzung nicht ausgeführt
var neo4j = require('neo4j-driver').v1;
var driver = neo4j.driver("bolt://localhost", neo4j.auth.basic("neo4j", "allin4k"));
var session = driver.session();
console.log("start session");
session
.run("CREATE (a:Person {name:'Arthur', title:'King'})")
.then(function()
{
console.log("return from second session")
return session.run("MATCH (a:Person) WHERE a.name = 'Arthur' RETURN a.name AS name, a.title AS title")
})
.then(function(result) {
console.log(result.records[0].get("title") + " " + result.records[0].get("name"));
session.close();
driver.close();
})
... Da ich dieses Codebeispiel aus dem neo4j3.0 Entwickler Handbuch kam angegeben. Meine weitere Forschung zeigt auf ein Problem mit der verschachtelten Sitzung (die zweite), die mit einer neueren Frage in Verbindung gebracht werden könnte. "Neo4j BOLT-Abfrage funktioniert nicht immer konsistent". – MichaelE
Was passiert, ist eine Verzögerung bei der Erstellung des Knotens, während der Code weiterhin ausgeführt wird. Der Code ist immer komplett, außer für die zweite Sitzung und wenn ich die Datenbank überprüfe, wird der Knoten erstellt. Wenn ich eine Browserverbindung geöffnet hätte, würden die Knoten erst erscheinen, nachdem ich die Verbindung getrennt und wieder hergestellt habe ..... könnte das auch aufgrund von nodejs .... kannst du noch mehr Licht auf dieses Verhalten werfen .... danke – MichaelE