Add a new collection with the given name if it doesn't exist.
Returns a promise that is fulfilled if the operation succeeded. The promise is rejected if an error occurred.
Add a new store with the given name if it doesn't exist.
Returns a promise that is fulfilled if the operation succeeded. The promise is rejected if an error occurred.
Aggregates values of the given object property in the collection for objects which match the given filter. Depending on the aggregation operator specified either numeric or boolean values are yielded. The value type of the given object property must match the aggregation operator specified.
If the filter is empty or not specified all objects are considered for
aggregation. If the filter matches no objects at all the aggregated value
returned is undefined
.
Returns a promise that if fulfilled yields the aggregated value of
matching object properties. The promise is rejected if an error occurred.
The object property to be applied for aggregation is specified either
in dot notation or array notation. In dot notation, the name of the
object property is specified as a string (e.g. "volume"
). It may
include dots (.
) to access nested properties of subobjects (e.g.
"message.size"
). If a single property name contains dots itself,
you obviously cannot use dot notation. Instead, specify the property
or nested properties as an array of strings (e.g.
["property.with.dots", "subproperty.with.dots"]
).
Returns the given string suitably quoted to be used as an identifier in a SQLite statement string. Quotes are always added to disable case folding. Embedded quotes are properly doubled.
a value to be used as identifier
Returns the given string suitably quoted to be used as a string literal in a SQLite statement string. Embedded single-quotes are properly doubled.
a value to be used as literal
Invoke the extension method by the given name and returns the result as a promise. Returns a rejected promise if the extension method doesn't exist or throws an error.
name of registered extension method
parameters to be applied to extension method
Clear all objects from the collection with the given name.
Returns a promise that is fulfilled if the operation succeeded. The promise is rejected if an error occurred.
Deletes all key-value pairs in the default store or the store specified.
Returns a promise that is fulfilled if the delete operation succeeded. The promise is rejected if an error occurred.
Closes the local database. By closing, any file locks on the database file are removed. The database is reopened again when operations are invoked after the database has been closed.
Returns a promise that is fulfilled if the close operation succeeded. The promise is rejected if an error occurred.
Counts objects in the collection which match the given filter. If the filter is empty or not specified counts the total number of objects in the collection. Returns a promise that if fulfilled yields the number of matching objects. The promise is rejected if an error occurred.
Deletes the given database file if it exists. Returns a promise that is fullfilled if the database file has been deleted or didn't exist. The promise is rejected if an error occurs.
Note that this operation cannot be executed while a database is open, i.e. in use, because the database file is locked.
Deletes objects from the collection which match the given filter. If the filter is empty or not specified all objects in the collection are deleted. Returns a promise that if fulfilled yields the number of objects deleted. The promise is rejected if an error occurred. In this case it is guaranteed that none of the requested objects has been deleted.
Deletes an object or multiple objects with the given object IDs from the collection. Objects which are not contained in the collection are ignored. Returns a promise that if fulfilled yields an array of object IDs of deleted objects. The promise is rejected if an error occurred. In this case it is guaranteed that none of the requested objects has been deleted.
Deletes the key-value pair for the given key in the default store or the store specified.
Returns a promise that is fulfilled if the delete operation succeeded. The promise is rejected if an error occurred.
Finds the first object with the given object ID or external ID in the collection.
Returns a promise that if fulfilled yields the first found object or undefined
if no object with the given ID is contained in the collection.
The promise is rejected if an error occurred.
If the isExternalId
parameter is not specified, the given id is interpreted as object ID.
Finds objects in the collection which match the given object filter. If the filter is empty or not specified all objects in the collection are retrieved.
Optional join conditions can be specified to augment result objects by resolving object references to related objects and storing them as extra properties.
The result can be iterated one by one or in batches to avoid memory overrun when the result contains a large number of objects.
Returns a promise that if fulfilled yields an iterator for iterating the resulting objects. The promise is rejected if an error occurred.
Gets the value for the given key in the default store or the store specified.
Returns a promise that if fulfilled yields the value for the key.
If the given key doesn't exist, the promise yields undefined
.
The promise is rejected if an error occurred.
Gets an object with all key-value pairs in the default store or the store specified.
Returns a promise that if fulfilled yields an object of key-value pairs. The promise is rejected if an error occurred.
Inserts a single object or multiple objects into the specified
collection. If an object with the same object ID is already contained
in the collection, the object to be inserted can be skipped
or can replace the existing one, depending on the shouldReplaceExisting
option (defaults to true).
If no error occurs a fullfilled promise is returned that yields an array of object IDs of inserted or replaced objects. Otherwise, a rejected promise is returned. In this case, it is guaranteed that none of the specified objects has been inserted into the collection.
Execute an SQL query defined by the given query builder and retrieve the results iteratively.
Use the predefined query builder functions SQL or RAW to formulate your parameterized SQL query.
The result can be iterated one by one or in batches to avoid memory overrun when the result contains a large number of rows. Usually, this is implemented by using a cursor. The fetch size of the cursor can be adjusted in the specified query options.
Returns a promise that if fulfilled yields an iterator for iterating the resulting row data. The promise is rejected if an error occurs.
If you know that a query only returns a very limited number of rows,
it might be more convenient to use the query
operation to retrieve all
rows at once.
Note that the iquery
operation might not be supported by a
specific database adapter. In this case, the returned promise
yields an "operation not supported" error.
Execute an SQL query defined by the given query builder and retrieve the results as one set of row data.
Use the predefined query builder functions SQL or RAW to formulate your parameterized SQL query.
Returns a promise that if fulfilled yields all the query results as one set of row data. The promise is rejected if the query yields an error.
Note that the query first retrieves all result rows and stores them in
memory. For queries that have potentially large result sets,
consider to use the iquery
operation instead of this one.
Register an extension method of the given name.
Remove the collection with the given name if it exists.
Returns a promise that is fulfilled if the operation succeeded. The promise is rejected if an error occurred.
Remove a store with the given name if it exists.
Returns a promise that is fulfilled if the operation succeeded. The promise is rejected if an error occurred.
Sets the value for the given key in the default store or the store specified.
You can pass in any JavaScript object that can be represented in JSON format.
Returns a promise that is fulfilled if the set operation succeeded. The promise is rejected if an error occurred.
Execute async operations in the given action callback inside a database transaction block. The action callback must return a promise that is fulfilled if all operations have executed without errors, and that is rejected if any of the operations fail. All transactional operations must be invoked on the transaction context passed in the action callback.
Returns a promise that if fulfilled signals that the transaction has been committed. In this case, the promise resolves to the value of the resolved action callback. The promise is rejected if the transaction is rolled back because the action callback's returned promise has been rejected.
Updates or deletes the property value of a single object or multiple objects
with the given object IDs in the specified collection.
Objects which are not contained in the collection are ignored.
The shouldCreateMissing
parameter controls whether the property value
pair is added to an object if the property does not exist (defaults to
true). Specify an undefined
value to delete the property value pair
from the object(s).
Returns a promise that is resolved if the update is successful. The promise is rejected if an error occurred. In this case it is guaranteed that none of the objects has been updated.
Updates a single object or multiple objects on the specified collection. If an object with the same object ID is not contained in the collection, this object is ignored.
Returns a promise that if fulfilled yields an array of object IDs of updated objects. The promise is rejected if an error occurred. In this case it is guaranteed that none of the objects has been updated.
Generated using TypeDoc
An SQLite 3 adapter for Node.js that uses the sqlite3 npm module.
This adapter supports SQL operations, transactions, and local store operations exposed by a local database context (of class
DbLocalContext
). For theìquery
operation thefetchSize
option is ignored.The SQLite database file path is specified as connection string in the connection info object. If you specify an absolute or relative file path ensure that the path exists and is accessible by the process, otherwise the database file cannot be created or opened. The database file name should include the extension, if desired, e.g.
"db/myservice.db"
.No further connection options are supported.
As a prerequisite you need to install the npm module
sqlite3
as explained here: sqlite3