File: BTreeIndex.md | Updated: 11/15/2025
Search...
+ K
Auto
Docs Examples GitHub Contributors
Docs Examples GitHub Contributors
Docs Examples GitHub Contributors
Docs Examples Github Contributors
Docs Examples Github Contributors
Docs Examples Github Contributors
Docs Examples Github Contributors
Docs Examples Github Contributors
Maintainers Partners Support Learn StatsBETA Discord Merch Blog GitHub Ethos Brand Guide
Documentation
Framework
React
Version
Latest
Search...
+ K
Menu
Getting Started
Guides
Collections
Frameworks
Community
API Reference
Framework
React
Version
Latest
Menu
Getting Started
Guides
Collections
Frameworks
Community
API Reference
On this page
Copy Markdown
Class: BTreeIndex<TKey>
=======================
Defined in: packages/db/src/indexes/btree-index.ts:30
B+Tree index for sorted data with range queries This maintains items in sorted order and provides efficient range operations
Type Parameters
---------------
### TKey
TKey extends string | number = string | number
Constructors
------------
### Constructor
ts
new BTreeIndex<TKey>(
id,
expression,
name?,
options?): BTreeIndex<TKey>;
new BTreeIndex<TKey>(
id,
expression,
name?,
options?): BTreeIndex<TKey>;
Defined in: packages/db/src/indexes/btree-index.ts:50
number
string
any
BTreeIndex<TKey>
Properties
----------
### compareOptions
ts
protected compareOptions: CompareOptions;
protected compareOptions: CompareOptions;
Defined in: packages/db/src/indexes/base-index.ts:87
ts
readonly expression: BasicExpression;
readonly expression: BasicExpression;
Defined in: packages/db/src/indexes/base-index.ts:81
ts
readonly id: number;
readonly id: number;
Defined in: packages/db/src/indexes/base-index.ts:79
ts
protected lastUpdated: Date;
protected lastUpdated: Date;
Defined in: packages/db/src/indexes/base-index.ts:86
ts
protected lookupCount: number = 0;
protected lookupCount: number = 0;
Defined in: packages/db/src/indexes/base-index.ts:84
ts
readonly optional name: string;
readonly optional name: string;
Defined in: packages/db/src/indexes/base-index.ts:80
ts
readonly supportedOperations: Set<"eq" | "gt" | "gte" | "lt" | "lte" | "in" | "like" | "ilike">;
readonly supportedOperations: Set<"eq" | "gt" | "gte" | "lt" | "lte" | "in" | "like" | "ilike">;
Defined in: packages/db/src/indexes/btree-index.ts:33
BaseIndex .supportedOperations
ts
protected totalLookupTime: number = 0;
protected totalLookupTime: number = 0;
Defined in: packages/db/src/indexes/base-index.ts:85
Accessors
---------
### indexedKeysSet
#### Get Signature
ts
get indexedKeysSet(): Set<TKey>;
get indexedKeysSet(): Set<TKey>;
Defined in: packages/db/src/indexes/btree-index.ts:333
Set<TKey>
### keyCount #### Get Signature
ts
get keyCount(): number;
get keyCount(): number;
Defined in: packages/db/src/indexes/btree-index.ts:199
Gets the number of indexed keys
number
### orderedEntriesArray #### Get Signature
ts
get orderedEntriesArray(): [any, Set<TKey>][];
get orderedEntriesArray(): [any, Set<TKey>][];
Defined in: packages/db/src/indexes/btree-index.ts:337
[any, Set<TKey>][]
BaseIndex .orderedEntriesArray
### orderedEntriesArrayReversed #### Get Signature
ts
get orderedEntriesArrayReversed(): [any, Set<TKey>][];
get orderedEntriesArrayReversed(): [any, Set<TKey>][];
Defined in: packages/db/src/indexes/btree-index.ts:343
[any, Set<TKey>][]
BaseIndex .orderedEntriesArrayReversed
### valueMapData #### Get Signature
ts
get valueMapData(): Map<any, Set<TKey>>;
get valueMapData(): Map<any, Set<TKey>>;
Defined in: packages/db/src/indexes/btree-index.ts:350
Map<any, Set<TKey>>
ts
add(key, item): void;
add(key, item): void;
Defined in: packages/db/src/indexes/btree-index.ts:69
Adds a value to the index
TKey
any
void
ts
build(entries): void;
build(entries): void;
Defined in: packages/db/src/indexes/btree-index.ts:143
Builds the index from a collection of entries
Iterable<[TKey, any]>
void
ts
clear(): void;
clear(): void;
Defined in: packages/db/src/indexes/btree-index.ts:154
Clears all data from the index
void
ts
equalityLookup(value): Set<TKey>;
equalityLookup(value): Set<TKey>;
Defined in: packages/db/src/indexes/btree-index.ts:208
Performs an equality lookup
any
Set<TKey>
ts
protected evaluateIndexExpression(item): any;
protected evaluateIndexExpression(item): any;
Defined in: packages/db/src/indexes/base-index.ts:182
any
any
BaseIndex .evaluateIndexExpression
ts
getStats(): IndexStats;
getStats(): IndexStats;
Defined in: packages/db/src/indexes/base-index.ts:169
ts
inArrayLookup(values): Set<TKey>;
inArrayLookup(values): Set<TKey>;
Defined in: packages/db/src/indexes/btree-index.ts:318
Performs an IN array lookup
any[]
Set<TKey>
ts
protected initialize(_options?): void;
protected initialize(_options?): void;
Defined in: packages/db/src/indexes/btree-index.ts:64
#### Parameters ##### _options?
void
ts
lookup(operation, value): Set<TKey>;
lookup(operation, value): Set<TKey>;
Defined in: packages/db/src/indexes/btree-index.ts:164
Performs a lookup operation
#### Parameters ##### operation
"eq" | "gt" | "gte" | "lt" | "lte" | "in" | "like" | "ilike"
any
Set<TKey>
ts
matchesCompareOptions(compareOptions): boolean;
matchesCompareOptions(compareOptions): boolean;
Defined in: packages/db/src/indexes/base-index.ts:146
Checks if the compare options match the index's compare options. The direction is ignored because the index can be reversed if the direction is different.
#### Parameters ##### compareOptions
CompareOptions
boolean
BaseIndex .matchesCompareOptions
ts
matchesDirection(direction): boolean;
matchesDirection(direction): boolean;
Defined in: packages/db/src/indexes/base-index.ts:165
Checks if the index matches the provided direction.
#### Parameters ##### direction
boolean
ts
matchesField(fieldPath): boolean;
matchesField(fieldPath): boolean;
Defined in: packages/db/src/indexes/base-index.ts:134
#### Parameters ##### fieldPath
string[]
boolean
ts
rangeQuery(options): Set<TKey>;
rangeQuery(options): Set<TKey>;
Defined in: packages/db/src/indexes/btree-index.ts:217
Performs a range query with options This is more efficient for compound queries like "WHERE a > 5 AND a < 10"
RangeQueryOptions = {}
Set<TKey>
ts
rangeQueryReversed(options): Set<TKey>;
rangeQueryReversed(options): Set<TKey>;
Defined in: packages/db/src/indexes/btree-index.ts:250
Performs a reversed range query
RangeQueryOptions = {}
Set<TKey>
ts
remove(key, item): void;
remove(key, item): void;
Defined in: packages/db/src/indexes/btree-index.ts:100
Removes a value from the index
TKey
any
void
ts
supports(operation): boolean;
supports(operation): boolean;
Defined in: packages/db/src/indexes/base-index.ts:130
#### Parameters ##### operation
"eq" | "gt" | "gte" | "lt" | "lte" | "in" | "like" | "ilike"
boolean
ts
take(
n,
from?,
filterFn?): TKey[];
take(
n,
from?,
filterFn?): TKey[];
Defined in: packages/db/src/indexes/btree-index.ts:295
Returns the next n items after the provided item or the first n items if no from item is provided.
number
The number of items to return
any
The item to start from (exclusive). Starts from the smallest item (inclusive) if not provided.
(key) => boolean
TKey[]
The next n items after the provided key. Returns the first n items if no from item is provided.
ts
takeReversed(
n,
from?,
filterFn?): TKey[];
takeReversed(
n,
from?,
filterFn?): TKey[];
Defined in: packages/db/src/indexes/btree-index.ts:306
Returns the next n items before the provided item (in descending order) or the last n items if no from item is provided.
number
The number of items to return
any
The item to start from (exclusive). Starts from the largest item (inclusive) if not provided.
(key) => boolean
TKey[]
The next n items before the provided key. Returns the last n items if no from item is provided.
ts
protected trackLookup(startTime): void;
protected trackLookup(startTime): void;
Defined in: packages/db/src/indexes/base-index.ts:187
#### Parameters ##### startTime
number
void
ts
update(
key,
oldItem,
newItem): void;
update(
key,
oldItem,
newItem): void;
Defined in: packages/db/src/indexes/btree-index.ts:135
Updates a value in the index
TKey
any
any
void
ts
protected updateTimestamp(): void;
protected updateTimestamp(): void;
Defined in: packages/db/src/indexes/base-index.ts:193
void