Star

Created With
You are viewing the documentation for Neogma v1. This version is in maintenance mode, and you can upgrade to v2 following the migration guide. For the latest features and improvements, see the Neogma v2 documentation.

linkHooks

linkBefore Create

The beforeCreate hook runs before a Node is created by the createOne, createMany statics, and the build method.

It runs before the node is validated, therefore it's suitable for mutating data before the validation runs.

1linkUsers.beforeCreate = (

2link /* --> the Instance that's about to be saved to the database */

3link user

4link) => {

5link if (user.age) {

6link user.age += 2;

7link }

8link};

9link

10linkconst user = await Users.createOne({

11link id: '123',

12link name: 'John',

13link age: -1

14link});

15link

16linkconsole.log(user.age); // 1

It also runs when creating relating nodes

1linkOrders.beforeSave = (order) => {

2link if (order.items < 0) {

3link order.items = 0;

4link }

5link};

6link

7linkawait Users.createOne({

8link id: '123',

9link name: 'John',

10link Orders: {

11link properties: [

12link {

13link id: '456',

14link items: -1

15link }

16link ]

17link }

18link});

19link

20link/* --> the created Order node will have items === 0 */

linkBefore Delete

The beforeDelete hook runs before an Instance is deleted with its delete method.

1linkUsers.beforeDelete = (

2link /* --> the Instance that's about to be deleted */

3link user

4link) => {

5link console.log(`I'm ${user.name} and I'm being deleted :(`)

6link}

7link

8linkconst user = Users.build({

9link id: '123',

10link name: 'John',

11link});

12link

13linkawait user.save();

14link

15link/* --> before the next command finished, beforeDelete runs and logs to the console */

16linkawait user.delete();

HooksBefore CreateBefore Delete

Introduction Getting Started

Modelschevron_right

Sessions and Transactions

Query Builderchevron_right
Query Runnerchevron_right

Bind Parameters

Where Parameters