Skip to main content

executeUnique

Find a single document by any field. Returns the latest version by timestamp.
TypeScript
const user = await client.queryBuilder()
  .collection('users')
  .whereField('email').equals('alice@example.com')
  .executeUnique<User>();

if (user) {
  console.log('Found user:', user.name);
} else {
  console.log('User not found');
}

Return Value

Returns T | null - the document if found, or null if not found.

execute (Find Many)

Find multiple documents with filters and options.
TypeScript
const result = await client.queryBuilder()
  .collection('users')
  .whereField('active').isTrue()
  .orderBy('createdAt', 'DESC')
  .limit(10)
  .offset(0)
  .execute<User>();

console.log(`Found ${result.records.length} active users`);

QueryResponse

FieldTypeDescription
recordsT[]Array of matching documents
totalnumberTotal count of matching documents
errorstringError message if query failed

count

Count documents matching a filter.
TypeScript
const count = await client.queryBuilder()
  .collection('users')
  .whereField('active').isTrue()
  .count();
console.log(`Active users: ${count}`);

Examples

Find by ID

TypeScript
const user = await client.queryBuilder()
  .collection('users')
  .whereField('id').equals('user_123')
  .executeUnique<User>();

Find with Pagination

TypeScript
// Page 1
const page1 = await client.queryBuilder()
  .collection('posts')
  .orderBy('createdAt', 'DESC')
  .limit(10)
  .offset(0)
  .execute();

// Page 2
const page2 = await client.queryBuilder()
  .collection('posts')
  .orderBy('createdAt', 'DESC')
  .limit(10)
  .offset(10)
  .execute();

Select Specific Fields

TypeScript
const users = await client.queryBuilder()
  .collection('users')
  .whereField('active').isTrue()
  .selectFields(['id', 'name', 'email'])
  .orderBy('createdAt', 'DESC')
  .limit(50)
  .execute();

Next Steps

Update

Update existing documents

Query Builder

Complex queries with operators