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. });
  9. const result = await query.run(client, {
  10. items: [
  11. {title: 'Deadpool', release_year: 2016},
  12. {title: 'Deadpool 2', release_year: 2018},
  13. {title: 'Deadpool 3', release_year: null},
  14. ],
  15. });

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.