Query large result sets
If you’re working with significantly large data sets, copying all matching records into a slice might be impractical for memory and performance reasons.
In this case, you might want to use Next to map all the records in the
result-set one by one:
res := booksTable.Find().OrderBy("-id")
var book Book
for res.Next(&book) {
// ...
}
Next will return true until there are no more records left to be read in
the result set.
When handling results individually, you’ll also need to manually check for
errors (with Err) and free locked resources (with Close).
res := booksTable.Find(...)
defer res.Close()
for res.Next(&book) {
...
}
if err := res.Err(); err != nil {
...
}
Calling Close is not required when using One or All, as they’re closed
automatically.