db
import "std:db"Methods
db.open(path)→DBdb.openMemory()→DBdb.close()→errordb.exec(query, ...args)→booleandb.query(query, ...args)→arraydb.queryOne(query, ...args)→DBRowdb.queryMap(query, ...args)→arraydb.queryMapOne(query, ...args)→objectdb.insert(table, data)→numberdb.update(table, data, where, ...whereArgs)→booleandb.delete(table, where, ...whereArgs)→booleandb.count(table, where, ...whereArgs)→numberdb.exists(table, where, ...whereArgs)→booleandb.createTable(table, columns)→booleandb.dropTable(table)→booleandb.getTables()→arraydb.getColumns(table)→arraydb.begin()→booleandb.commit()→booleandb.rollback()→booleandb.transaction(fn)→errordb.lastInsertId()→numberdb.rowsAffected(query, ...args)→numberdb.collection(name)→dbCollectiondb.collections()→array
Returned object: DBRow
Returned by db methods; call these on the value you get back.
dBRow.get(colIndex)→anydBRow.getByName(colName)→anydBRow.toMap()→objectdBRow.toArray()→arraydBRow.isEmpty()→booleandBRow.count()→number
Returned object: dbCollection
Returned by db methods; call these on the value you get back.
dbCollection.insertOne(doc)→anydbCollection.insertMany(docs)→arraydbCollection.find(filter, ...opts)→arraydbCollection.findOne(filter)→objectdbCollection.findById(id)→objectdbCollection.all()→arraydbCollection.count(filter)→numberdbCollection.exists(filter)→booleandbCollection.updateOne(filter, changes)→numberdbCollection.updateMany(filter, changes)→numberdbCollection.replaceOne(filter, doc)→numberdbCollection.deleteOne(filter)→numberdbCollection.deleteMany(filter)→numberdbCollection.drop()→booleandbCollection.save(doc)dbCollection.query()→dbQuerydbCollection.where(field, op, value)→dbQuerydbCollection.fields(...cols)→dbQuerydbCollection.sort(field, dir)→dbQuery
Returned object: dbQuery
Returned by db methods; call these on the value you get back.
dbQuery.where(field, op, value)→dbQuerydbQuery.and(field, op, value)→dbQuerydbQuery.sort(field, dir)→dbQuerydbQuery.fields(...cols)→dbQuerydbQuery.limit(n)→dbQuerydbQuery.skip(n)→dbQuerydbQuery.matched()→arraydbQuery.all()→arraydbQuery.get()→arraydbQuery.first()→objectdbQuery.count()→numberdbQuery.exists()→booleandbQuery.delete()→numberdbQuery.set(field, value)→dbQuerydbQuery.unset(field)→dbQuerydbQuery.inc(field, n)→dbQuerydbQuery.mul(field, n)→dbQuerydbQuery.min(field, value)→dbQuerydbQuery.max(field, value)→dbQuerydbQuery.push(field, value)→dbQuerydbQuery.pull(field, value)→dbQuerydbQuery.rename(field, newField)→dbQuerydbQuery.apply()→number
Complete API reference
db
db.open(path: any)
*DB
db.openMemory()
*DB
Opens memory.
DB values
value.close()
error
Closes the resource.
value.exec(query: any, ...args: any)
boolean
value.query(query: any, ...args: any)
array
value.queryOne(query: any, ...args: any)
DBRow
value.queryMap(query: any, ...args: any)
array
value.queryMapOne(query: any, ...args: any)
object
value.insert(table: any, data: object)
number
value.update(table: any, data: object, where: any, ...whereArgs: any)
boolean
value.delete(table: any, where: any, ...whereArgs: any)
boolean
Deletes a value.
value.count(table: any, where: any, ...whereArgs: any)
number
value.exists(table: any, where: any, ...whereArgs: any)
boolean
value.createTable(table: any, columns: object)
boolean
Creates table.
value.dropTable(table: any)
boolean
value.getTables()
array
Returns tables.
value.getColumns(table: any)
array
Returns columns.
value.begin()
boolean
value.commit()
boolean
value.rollback()
boolean
value.transaction(fn: any)
error
value.lastInsertId()
number
value.rowsAffected(query: any, ...args: any)
number
value.collection(name: any)
*dbCollection
value.collections()
array
DBRow values
value.get(colIndex: any)
any
Returns a value.
value.getByName(colName: any)
any
Returns by name.
value.toMap()
object
Converts the value to an object.
value.toArray()
array
Converts the value to an array.
value.isEmpty()
boolean
value.count()
number
dbCollection values
value.insertOne(doc: object)
any
value.insertMany(docs: array)
array
value.find(filter: object, ...opts: object)
array
Returns every matching document after optional sorting and paging.
value.findOne(filter: object)
object
Returns the first document from the shared matcher, or an empty object.
value.findById(id: any)
object
value.all()
array
value.count(filter: object)
number
value.exists(filter: object)
boolean
value.updateOne(filter: object, changes: object)
number
Updates at most one matching document and returns the count.
value.updateMany(filter: object, changes: object)
number
Updates all matching documents and returns the count.
value.replaceOne(filter: object, doc: object)
number
Replaces at most one matching document, preserving its ID.
value.deleteOne(filter: object)
number
Deletes at most one matching document and returns the count.
value.deleteMany(filter: object)
number
Deletes all matching documents and returns the count.
value.drop()
boolean
value.save(doc: object)
void
value.query()
*dbQuery
value.where(field: any, op: any, value: any)
*dbQuery
value.fields(...cols: any)
*dbQuery
value.sort(field: any, dir: any)
*dbQuery
dbQuery values
value.where(field: any, op: any, value: any)
*dbQuery
value.and(field: any, op: any, value: any)
*dbQuery
value.sort(field: any, dir: any)
*dbQuery
value.fields(...cols: any)
*dbQuery
value.limit(n: any)
*dbQuery
value.skip(n: any)
*dbQuery
value.matched()
array
value.all()
array
value.get()
array
Returns a value.
value.first()
object
value.count()
number
value.exists()
boolean
value.delete()
number
Deletes a value.
value.addUpdate(kind: string, field: any, value: any)
*dbQuery
Adds update.
value.set(field: any, value: any)
*dbQuery
Sets a value.
value.unset(field: any)
*dbQuery
value.inc(field: any, n: any)
*dbQuery
value.mul(field: any, n: any)
*dbQuery
value.min(field: any, value: any)
*dbQuery
value.max(field: any, value: any)
*dbQuery
value.push(field: any, value: any)
*dbQuery
value.pull(field: any, value: any)
*dbQuery
value.rename(field: any, newField: any)
*dbQuery
value.apply()
number
Notes
Prefer
import "std:db"; the olderimport "osl/db"spelling remains supported.
Behavior and limits
Methods on a closed database, collection, or query return failure values instead of panicking. Nested transactions are rejected. Query offsets and limits cannot be negative. Document queries support nested paths, and both in-memory and file-backed databases use the same API.
Last updated