Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
Using Neo4j Temporal data types in Neo4j Drivers
const neo4j = require('neo4j-driver').v1
const driver = neo4j.driver('bolt://localhost:7687', neo4j.auth.basic('neo4j', 'neo'))
const session = driver.session()
session.run(
'CREATE (e:Event { id: $id, title: $title, startsAt: datetime($startsAt) }) RETURN e',
{
id: 2,
title: 'Another Test Event',
startsAt: {
year: 2018,
month: 01,
day: 02,
hour: 12,
minute: 34,
second: 56,
timezone: 'Z',
},
}
)
.then(res => {
console.log(res.records[0].get('e').properties.startsAt.toString())
})
.then(() => session.close())
.then(() => driver.close())
.catch(e => {
console.log(e.stack)
})
const neo4j = require('neo4j-driver').v1
const driver = neo4j.driver('bolt://localhost:7687', neo4j.auth.basic('neo4j', 'neo'))
const session = driver.session()
session.run(
'CREATE (e:Event { id: $id, title: $title, startsAt: $startsAt }) RETURN e',
{
id: 1,
title: 'Test Event',
startsAt: new neo4j.types.DateTime(2018, 01, 02, 12, 34, 56, 123400000, 'Z')
}
)
.then(res => {
console.log(res.records[0].get('e').properties.startsAt.toString())
})
.then(() => session.close())
.then(() => driver.close())
.catch(e => {
console.log(e.stack)
})
const neo4j = require('neo4j-driver').v1
const driver = neo4j.driver('bolt://localhost:7687', neo4j.auth.basic('neo4j', 'neo'))
const session = driver.session()
session.run(
'CREATE (e:Event { id: $id, title: $title, startsAt: datetime($startsAt) }) RETURN e',
{
id: 2,
title: 'Another Test Event',
startsAt: '2018-01-02T12:34:56.1234Z'
}
)
.then(res => {
const startsAt = res.records[0].get('e').properties.startsAt
console.log('year', startsAt.year.toNumber()) // 2018
console.log('month', startsAt.month.toNumber()) // 01
console.log('day', startsAt.day.toNumber()) // 02
console.log('hour', startsAt.hour.toNumber()) // 12
console.log('minute', startsAt.minute.toNumber()) // 34
console.log('second', startsAt.second.toNumber()) // 56
console.log('nanosecond', startsAt.nanosecond.toNumber()) // 123400000
console.log('toString', startsAt.toString()) // 2018-01-02T12:34:56.123400000Z
console.log('date', new Date( startsAt.toString() ) )
})
.then(() => session.close())
.then(() => driver.close())
.catch(e => {
console.log(e.stack)
})
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.