For Loops
For loops let you iterate over any set of values. The
const query = e.for(e.set(1, 2, 3, 4), (number) => {return e.op(2, '^', number);});const result = query.run(client);// [2, 4, 8, 16]
Bulk inserts
It’s common to use for loops to perform bulk inserts. The raw data is passed in as a json parameter, converted to a set of json objects with json_array_unpack, then passed into a for loop for insertion.
const query = e.params({items: e.json}, (params) => {return e.for(e.json_array_unpack(params.items), (item) => {return e.insert(e.Movie, {title: e.cast(e.str, item.title),release_year: e.cast(e.int64, item.release_year),});});});const result = await query.run(client, {items: [{title: 'Deadpool', release_year: 2016},{title: 'Deadpool 2', release_year: 2018},{title: 'Deadpool 3', release_year: null},],});
Note that any optional properties values must be explicitly set to null. They cannot be set to undefined or ommitted; doing so will cause a runtime error.