JVM is in development for v1. Interested in contributing or chatting with us?Get in touch!
Node.js - collection.query.fetch()
Retrieve a page of results for a query. This is an alternative to collection.query.stream()
import { collection } from '@nitric/sdk'
const profiles = collection('profiles').for('reading')
const profileQuery = profiles.query()
const results = await profileQuery.fetch()
import io.nitric.Nitric;
import io.nitric.resources.CollectionPermission;
// A user class to store in the profiles collection
class User {
  String name;
  int age;
  public User(String name, int age) {
    this.name = name;
    this.age = age;
  }
}
public class Application {
  public static void main(String[] args) {
    var profiles = Nitric.INSTANCE.collection("profiles", User.class).with(CollectionPermission.Read);
    var profilesQuery = profiles.query();
    var results = profilesQuery.fetch();
    Nitric.INSTANCE.run();
  }
}
Examples
Paging through results from a query
import io.nitric.Nitric;
import io.nitric.resources.CollectionPermission;
class User {
  String name;
  int age;
  public User(String name, int age) {
    this.name = name;
    this.age = age;
  }
}
public class Application {
  public static void main(String[] args) {
    var profiles = Nitric.INSTANCE.collection("profiles", User.class).with(CollectionPermission.Read);
    var profileQuery = profiles.query();
    var results = profileQuery.fetch();
    var pagingToken = results.getPagingToken();
    do {
      results.getDocuments().forEach((doc) -> {
        System.out.println(doc.getContent());
      });
      if (pagingToken.size() > 0) {
        results = profileQuery.pagingFrom(pagingToken).fetch();
        pagingToken = results.getPagingToken();
      }
    } while (results.getPagingToken().size() > 0 && results.getDocuments().size() > 0);
    Nitric.INSTANCE.run();
  }
}