43 lines
1006 B
JavaScript
43 lines
1006 B
JavaScript
const neo4j = require('neo4j-driver');
|
|
|
|
const runQuery = async (driver, query) => {
|
|
return new Promise((resolve, reject) => {
|
|
const session = driver.session();
|
|
const activeSession = session.run(query);
|
|
|
|
activeSession._createSummary = async (metadata) => {
|
|
return metadata;
|
|
};
|
|
|
|
activeSession.subscribe({
|
|
onCompleted: async (summary) => {
|
|
await session.close();
|
|
const result = summary;
|
|
resolve(result);
|
|
},
|
|
onError: async (error) => {
|
|
await session.close();
|
|
reject(error);
|
|
},
|
|
});
|
|
})
|
|
};
|
|
|
|
const main = async () => {
|
|
const driver = neo4j.driver('bolt://localhost:7687');
|
|
|
|
query = "MATCH (n) RETURN n LIMIT 1;"
|
|
|
|
console.log('Query:', query);
|
|
const results = await runQuery(driver, query);
|
|
if (results.hasOwnProperty("run_id")) {
|
|
console.log("run_id:", results["run_id"]);
|
|
} else {
|
|
process.exit(1);
|
|
}
|
|
await driver.close();
|
|
};
|
|
|
|
main(process.argv[2])
|
|
.catch((error) => console.error(error));
|