Query

lightdb.Query
See theQuery companion object
case class Query[Doc <: Document[Doc], Model <: DocumentModel[Doc], V](model: Model, store: Store[Doc, Model], conversion: Conversion[Doc, V], filter: Option[Filter[Doc]], sort: List[Sort], offset: Int, limit: Option[Int], countTotal: Boolean, scoreDocs: Boolean, minDocScore: Option[Double], facets: List[FacetQuery[Doc]])

Attributes

Companion
object
Graph
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
Self type
Query[Doc, Model, V]

Members list

Type members

Types

type Q = Query[Doc, Model, V]

Value members

Concrete methods

def aggregate(f: Model => List[AggregateFunction[_, _, Doc]]): AggregateQuery[Doc, Model]
def clearLimit: Q
def clearSort: Q
def conversion[T](conversion: Conversion[Doc, T]): Query[Doc, Model, T]
def converted[T](f: Doc => T): Query[Doc, Model, T]
def count(implicit transaction: Transaction[Doc]): Task[Int]
def countTotal(b: Boolean): Q
def distance[G <: Geo](f: Model => Field[Doc, List[G]], from: Point, sort: Boolean, radius: Option[Distance]): Query[Doc, Model, DistanceAndDoc[Doc]]
def docAndIndexes: Query[Doc, Model, MaterializedAndDoc[Doc, Model]]
def docs: Query[Doc, Model, Doc]
def facet(f: Model => FacetField[Doc], path: List[String], childrenLimit: Option[Int], dimsLimit: Option[Int]): Q
def facets(f: Model => List[FacetField[Doc]], childrenLimit: Option[Int], dimsLimit: Option[Int]): Q
def filter(f: Model => Filter[Doc]): Q
def first(implicit transaction: Transaction[Doc]): Task[V]
def firstOption(implicit transaction: Transaction[Doc]): Task[Option[V]]
def grouped[F](f: Model => Field[Doc, F], direction: SortDirection)(implicit transaction: Transaction[Doc]): Stream[Grouped[F, Doc]]
def id: Query[Doc, Model, Id[Doc]]
def indexes: Query[Doc, Model, MaterializedIndex[Doc, Model]]
def json(f: Model => List[Field[Doc, _]]): Query[Doc, Model, Json]
def limit(limit: Int): Q
def materialized(f: Model => List[Field[Doc, _]]): Query[Doc, Model, MaterializedIndex[Doc, Model]]
def minDocScore(min: Double): Q
def offset(offset: Int): Q
def process(establishLock: Boolean, deleteOnNone: Boolean, safeModify: Boolean)(f: Forge[Doc, Option[Doc]])(implicit transaction: Transaction[Doc]): Unit

Processes through each result record from the query modifying the data in the database.

Processes through each result record from the query modifying the data in the database.

Value parameters

deleteOnNone

whether to delete the record if the function returns None (defaults to true)

establishLock

whether to establish an id lock to avoid concurrent modification (defaults to true)

f

the processing function for records

safeModify

whether to use safe modification. This results in loading the same object twice, but should never risk concurrent modification occurring. (defaults to true)

Attributes

def scored: Q
def search(implicit transaction: Transaction[Doc]): Task[SearchResults[Doc, Model, V]]
def sort(sort: Sort*): Q
def stream(implicit transaction: Transaction[Doc]): Stream[V]
def streamScored(implicit transaction: Transaction[Doc]): Stream[(V, Double)]
def toList(implicit transaction: Transaction[Doc]): Task[List[V]]
def value[F](f: Model => Field[Doc, F]): Query[Doc, Model, F]

Inherited methods

def productElementNames: Iterator[String]

Attributes

Inherited from:
Product
def productIterator: Iterator[Any]

Attributes

Inherited from:
Product