I want to update the List in neo4j from node.js.
Data from Node.js is in the form of Array of Objects.
NODE.js Code ::
const propertyId = int(req.body.propertyId);
const expenditure = {
"type" : req?.body?.type,
"spentOn" : req?.body?.spentOn,
"spentBy" : req?.body?.spentBy,
"amount" : req?.body?.amount,
"currency" : req?.body?.currency,
"description" : req?.body?.description,
"spentUsing" : req?.body?.spentUsing,
"attachment" : req?.body?.attachment
}
//Fetch expenditure
const session01 = driver.session();
const result01 = await session01.executeRead(
tx => tx.run(
`
MATCH (ex:Expenditure {propertyId : $propertyId})
RETURN ex
`,
{
propertyId : propertyId
}
)
)
session01.close();
console.log(result01.records);
const data01 = result01?.records[0]?.get('ex').properties.expenditure;
console.log(data01)
data01.push(expenditure);
console.log("AFTER PUSH", data01)
/// update with new expenditure data
const session02 = driver.session();
const result02 = await session02.executeWrite(
tx => tx.run(
`
MATCH (ex:Expenditure {propertyId : $propertyId})
SET ex.expenditure = $expenditure
RETURN ex
`,
{
propertyId : propertyId,
expenditure : data01
}
)
)
session02.close();
const data = result02?.records[0].get('ex').properties.expenditure;
console.log("AFTER UPDATE", data);
res.status(200).send({
"message" : "Data Updated Seccessfully",
"data" : data
})