ObjectBox Queries
Discover how to use the Query API to create queries with ObjectBox DB. By utilizing these queries, you can retrieve stored objects that meet user-defined criteria.
Build a query
Query<User> query = userBox.query(User_.firstName.equal("Joe")).build();
List<User> joes = query.find();
query.close();val query = userBox.query(User_.firstName.equal("Joe")).build()
val joes = query.find()
query.close()Query<User> query = userBox.query(User_.firstName.equals('Joe')).build();
List<User> joes = query.find();
query.close();query = userBox.query(User.firstName.equals("Joe")).build()
joes = query.find()const query = userBox.query(User_.firstName.equals("Joe")).build();
const joes = query.find();
query.close();Query<User> query = userBox.query(
User_.firstName.equal("Joe")
.and(User_.yearOfBirth.greater(2015))
.and(User_.lastName.startsWith("O"))
).build();
List<User> youngJoes = query.find();
query.close();val query = userBox.query(
User_.firstName equal "Joe" and
(User_.yearOfBirth greater 2015) and
(User_.lastName startsWith "O")
).build()
val youngJoes = query.find()
query.close()Query<User> query = userBox
.query(User_.firstName.equals('Joe')
.and(User_.yearOfBirth.greaterThan(2015))
.and(User_.lastName.startsWith('O')))
.build();
// or use operator overloads:
Query<User> query2 = userBox
.query(User_.firstName.equals('Joe') &
User_.yearOfBirth.greaterThan(2015) &
User_.lastName.startsWith('O'))
.build();Other notable features
Common conditions
Nearest neighbor vector search
On-Device Vector SearchOrder results
Run a query
Find objects
Remove objects
Reuse Queries and Parameters
Limit, Offset, and Pagination
Lazy-load results (Java)
Stream results (Dart)
Observe or listen to changes
Data Observers & RxQuery a single property
Handle null values
Distinct and unique results
Aggregate values
Query a related entity (links)
Eager-load relations
Query filters
Query filters and ToMany relation
Debug queries
Last updated
Was this helpful?