For Loops

For loops let you iterate over any set of values. The


1. const query = e.for(e.set(1, 2, 3, 4), (number) => {
2. return e.op(2, '^', number);
3. });
4. const result = query.run(client);
5. // [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.


1. const query = e.params({items: e.json}, (params) => {
2. return e.for(e.json_array_unpack(params.items), (item) => {
3. return e.insert(e.Movie, {
4. title: e.cast(e.str, item.title),
5. release_year: e.cast(e.int64, item.release_year),
6. });
7. });
8. });

10. const result = await query.run(client, {
11. items: [
12. {title: 'Deadpool', release_year: 2016},
13. {title: 'Deadpool 2', release_year: 2018},
14. {title: 'Deadpool 3', release_year: null},
15. ],
16. });

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.