AsyncCollection

lightdb.async.AsyncCollection
final case class AsyncCollection[Doc <: Document[Doc], Model <: DocumentModel[Doc]](underlying: Collection[Doc, Model]) extends AnyVal

Attributes

Graph
Supertypes
trait Serializable
trait Product
trait Equals
class AnyVal
trait Matchable
class Any
Show all

Members list

Value members

Concrete methods

def apply[V](f: Model => (UniqueIndex[Doc, V], V))(implicit transaction: Transaction[Doc]): IO[Doc]
def apply(id: Id[Doc])(implicit transaction: Transaction[Doc]): IO[Doc]
def count(implicit transaction: Transaction[Doc]): IO[Int]
def delete[V](f: Model => (UniqueIndex[Doc, V], V))(implicit transaction: Transaction[Doc]): IO[Boolean]
def delete(id: Id[Doc])(implicit transaction: Transaction[Doc], ev: Model <:< DocumentModel[_]): IO[Boolean]
def dispose(): IO[Unit]
def get[V](f: Model => (UniqueIndex[Doc, V], V))(implicit transaction: Transaction[Doc]): IO[Option[Doc]]
def get(id: Id[Doc])(implicit transaction: Transaction[Doc]): IO[Option[Doc]]
def getAll(ids: Seq[Id[Doc]])(implicit transaction: Transaction[Doc]): Stream[IO, Doc]
def getOrCreate(id: Id[Doc], create: => IO[Doc], lock: Boolean)(implicit transaction: Transaction[Doc]): IO[Doc]
def insert(doc: Doc)(implicit transaction: Transaction[Doc]): IO[Doc]
def insert(docs: Seq[Doc])(implicit transaction: Transaction[Doc]): IO[Seq[Doc]]
def list(implicit transaction: Transaction[Doc]): IO[List[Doc]]
def modify(id: Id[Doc], lock: Boolean, deleteOnNone: Boolean)(f: Option[Doc] => IO[Option[Doc]])(implicit transaction: Transaction[Doc]): IO[Option[Doc]]
def query: AsyncQuery[Doc, Model]
def reIndex(): IO[Boolean]
def stream(implicit transaction: Transaction[Doc]): Stream[IO, Doc]
def t: AsyncTransactionConvenience[Doc, Model]

Convenience feature for simple one-off operations removing the need to manually create a transaction around it.

Convenience feature for simple one-off operations removing the need to manually create a transaction around it.

Attributes

def transaction[Return](f: Transaction[Doc] => IO[Return]): IO[Return]
def truncate()(implicit transaction: Transaction[Doc]): IO[Int]
def upsert(doc: Doc)(implicit transaction: Transaction[Doc]): IO[Doc]
def upsert(docs: Seq[Doc])(implicit transaction: Transaction[Doc]): IO[Seq[Doc]]

Inherited methods

def productElementNames: Iterator[String]

Attributes

Inherited from:
Product
def productIterator: Iterator[Any]

Attributes

Inherited from:
Product