The JVM SDK currently only supports legacy versions of Nitric prior to v1. This version is maintained for compatibility with existing projects and not recommended for new projects. New projects should be started using a supported SDK (presented automatically using the `nitric new` command) orget in touch to request an update to the latest version.
JVM - collection.query.fetch()
Retrieve a page of results for a query. This is an alternative to collection.query.stream()
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();
}
}