Id |
A unique document identifier. interface Id<T> |
KMongo |
Main object used to create a MongoClient instance. object KMongo |
MongoOperator |
List all known mongo operators, used in string templates. enum class MongoOperator |
SetTo |
A property set to a new value used in update operations. data class SetTo<out T> |
EMPTY_BSON |
An immutable empty Bson. val EMPTY_BSON: Bson |
addEachToSet |
Creates an update that adds each of the given values to the array value of the property, unless the value is already present, in which case it does nothing fun <T> addEachToSet(property: KProperty<Iterable<T>?>, values: List<T>): Bson |
addFields |
Creates an $addFields pipeline stage fun addFields(vararg fields: Field<*>): Bson fun addFields(fields: List<Field<*>>): Bson |
addToSet |
Creates an update that adds the given value to the array value of the property, unless the value is already present, in which case it does nothing fun <T> addToSet(property: KProperty<Iterable<T>?>, value: T): Bson |
and |
Creates a filter that performs a logical AND of the provided list of filters. Note that this will only generate a "$and" operator if absolutely necessary, as the query language implicity ands together all the keys. In other words, a query expression like: fun and(filters: Iterable<Bson?>): Bson fun and(vararg filters: Bson?): Bson |
arrayElemAt |
$arrayElemAt aggregator operator support. fun arrayElemAt(path: String, index: Int = 0): Bson |
ascending |
Create a sort specification for an ascending sort on the given properties. fun ascending(vararg properties: KProperty<*>): Bson fun ascending(properties: List<KProperty<*>>): Bson |
ascendingIndex |
Create an index key for an ascending index on the given fields. fun ascendingIndex(vararg properties: KProperty<*>): Bson fun ascendingIndex(properties: Iterable<KProperty<*>>): Bson |
bitwiseAnd |
Creates an update that performs a bitwise and between the given integer value and the integral value of the property. fun bitwiseAnd(property: KProperty<<ERROR CLASS>>, value: Int): Bson fun <T : Number?> bitwiseAnd(property: KProperty<T>, value: Int): Bson
Creates an update that performs a bitwise and between the given long value and the integral value of the property. fun bitwiseAnd(property: KProperty<<ERROR CLASS>>, value: Long): Bson fun <T : Number?> bitwiseAnd(property: KProperty<T>, value: Long): Bson |
bitwiseOr |
Creates an update that performs a bitwise or between the given integer value and the integral value of the property. fun bitwiseOr(property: KProperty<<ERROR CLASS>>, value: Int): Bson fun <T : Number?> bitwiseOr(property: KProperty<T>, value: Int): Bson
Creates an update that performs a bitwise or between the given long value and the integral value of the property. fun bitwiseOr(property: KProperty<<ERROR CLASS>>, value: Long): Bson fun <T : Number?> bitwiseOr(property: KProperty<T>, value: Long): Bson |
bitwiseXor |
Creates an update that performs a bitwise xor between the given integer value and the integral value of the property. fun bitwiseXor(property: KProperty<<ERROR CLASS>>, value: Int): Bson fun <T : Number?> bitwiseXor(property: KProperty<T>, value: Int): Bson
Creates an update that performs a bitwise xor between the given long value and the integral value of the property. fun bitwiseXor(property: KProperty<<ERROR CLASS>>, value: Long): Bson fun <T : Number?> bitwiseXor(property: KProperty<T>, value: Long): Bson |
bucket |
Creates a $bucket pipeline stage fun <TExpression, Boundary> bucket(groupBy: TExpression, boundaries: List<Boundary>, options: BucketOptions = BucketOptions()): Bson |
bucketAuto |
Creates a $bucketAuto pipeline stage fun <TExpression> bucketAuto(groupBy: TExpression, buckets: Int, options: BucketAutoOptions = BucketAutoOptions()): Bson |
combine |
Combine a list of updates into a single update. fun combine(vararg updates: Bson): Bson fun combine(updates: List<Bson>): Bson |
cond |
Returns a $cond expression. fun <BooleanExpression : Any, ThenExpression : Any, ElseExpression : Any> cond(booleanExpression: BooleanExpression, thenExpression: ThenExpression, elseExpression: ElseExpression): Bson |
currentDate |
Creates an update that sets the value of the property to the current date as a BSON date. fun <T> currentDate(property: KProperty<T>): Bson |
currentTimestamp |
Creates an update that sets the value of the property to the current date as a BSON timestamp. fun <T> currentTimestamp(property: KProperty<T>): Bson |
dayOfMonth |
Builds $dayOfMonth expression for this property . fun dayOfMonth(property: KProperty<TemporalAccessor?>): Bson fun dayOfMonth(property: KProperty<ObjectId?>): Bson |
dayOfWeek |
Builds $dayOfWeek expression for this property . fun dayOfWeek(property: KProperty<TemporalAccessor?>): Bson fun dayOfWeek(property: KProperty<ObjectId?>): Bson |
dayOfYear |
Builds $dayOfYear expression for this property . fun dayOfYear(property: KProperty<TemporalAccessor?>): Bson fun dayOfYear(property: KProperty<ObjectId?>): Bson |
deleteMany |
Creates an DeleteManyModel. fun <T> deleteMany(filter: Bson, options: DeleteOptions = DeleteOptions()): DeleteManyModel<T> |
deleteOne |
Creates an DeleteOneModel. fun <T> deleteOne(filter: Bson, options: DeleteOptions = DeleteOptions()): DeleteOneModel<T> |
descending |
Create a sort specification for a descending sort on the given properties. fun descending(vararg properties: KProperty<*>): Bson fun descending(properties: List<KProperty<*>>): Bson |
descendingIndex |
Create an index key for a descending index on the given fields. fun descendingIndex(vararg properties: KProperty<*>): Bson fun descendingIndex(properties: Iterable<KProperty<*>>): Bson |
document |
Produce a bson document with the specified elements. fun document(vararg elements: Bson?): Bson fun document(elements: Collection<Bson>): Bson |
exclude |
Creates a projection that excludes all of the given properties. fun exclude(vararg properties: KProperty<*>): Bson fun exclude(properties: Iterable<KProperty<*>>): Bson |
excludeId |
Creates a projection that excludes the _id field. This suppresses the automatic inclusion of _id that is the default, even when other fields are explicitly included. fun excludeId(): Bson |
expr |
Creates a filter that matches all documents that validate against the given JSON schema document. fun <TExpression> expr(expression: TExpression): Bson |
facet |
Creates a facet pipeline stage fun facet(facets: List<Facet>): Bson fun facet(vararg facets: Facet): Bson |
fields |
Creates a projection that combines the list of projections into a single one. If there are duplicate keys, the last one takes precedence. fun fields(vararg projections: Bson): Bson fun fields(projections: List<Bson>): Bson |
findOneAndUpdateUpsert |
Creates an FindOneAndUpdateOptions and set upsert to true. fun findOneAndUpdateUpsert(): FindOneAndUpdateOptions |
from |
Builds Bson for the MongoOperator and the specified expression. infix fun MongoOperator.from(expression: Any): Bson |
geo2dsphere |
Create an index key for an 2dsphere index on the given fields. fun geo2dsphere(vararg properties: KProperty<*>): Bson fun geo2dsphere(properties: Iterable<KProperty<*>>): Bson |
graphLookup |
Creates a graphLookup pipeline stage for the specified filter fun <TExpression> graphLookup(from: String, startWith: TExpression, connectFromField: String, connectToField: String, fieldAs: String, options: GraphLookupOptions = GraphLookupOptions()): Bson |
group |
Creates a $group pipeline stage for the specified filter fun <TExpression> group(id: TExpression, vararg fieldAccumulators: BsonField): Bson fun <TExpression> group(id: TExpression, fieldAccumulators: List<BsonField>): Bson |
hour |
Builds $hour expression for this property . fun hour(property: KProperty<TemporalAccessor?>): Bson fun hour(property: KProperty<ObjectId?>): Bson |
ifNull |
$ifNull aggregator operator support. fun ifNull(expression: Any, defaultValue: Any): Bson |
inc |
Creates an update that increments the value of the property by the given value. fun inc(property: KProperty<<ERROR CLASS>>, number: Number): Bson fun <T : Number?> inc(property: KProperty<T>, number: Number): Bson |
include |
Creates a projection that includes all given properties. fun include(vararg properties: KProperty<*>): Bson
Creates a projection that includes all of the given properties. fun include(properties: Iterable<KProperty<*>>): Bson |
index |
Create a compound index specifications. If any properties are repeated, the last one takes precedence. fun index(vararg properties: Pair<KProperty<*>, Boolean>): Bson
Create a compound multiple index specifications. If any properties are repeated, the last one takes precedence. fun index(properties: Map<KProperty<*>, Boolean>): Bson |
insertOne |
Creates an InsertOneModel. fun <T> insertOne(document: T): InsertOneModel<T> |
jsonSchema |
Creates a filter that matches all documents that validate against the given JSON schema document. fun jsonSchema(schema: Bson): Bson |
limit |
Creates a $limit pipeline stage for the specified filter fun limit(limit: Int): Bson |
lookup |
Creates a $lookup pipeline stage for the specified filter (Typesafe version) fun <FROM : Any> lookup(from: MongoCollection<FROM>, localField: KProperty1<out Any, Any?>, foreignField: KProperty1<FROM, Any?>, newAs: KProperty1<out Any, Any?>): Bson
Creates a $lookup pipeline stage for the specified filter fun lookup(from: String, localField: String, foreignField: String, newAs: String): Bson
Creates a $lookup pipeline stage, joining the current collection with the one specified in from using the given pipeline fun lookup(from: String, let: List<Variable<out Any>>? = null, resultProperty: KProperty<Any?>, vararg pipeline: Bson): Bson |
match |
Creates a $match pipeline stage for the specified filter fun match(filter: Bson): Bson
Creates a $match pipeline stage with $and on each filter. fun match(vararg filters: Bson): Bson |
millisecond |
Builds $millisecond expression for this property . fun millisecond(property: KProperty<TemporalAccessor?>): Bson fun millisecond(property: KProperty<ObjectId?>): Bson |
minute |
Builds $minute expression for this property . fun minute(property: KProperty<TemporalAccessor?>): Bson fun minute(property: KProperty<ObjectId?>): Bson |
month |
Builds $month expression for this property . fun month(property: KProperty<TemporalAccessor?>): Bson fun month(property: KProperty<ObjectId?>): Bson |
mul |
Creates an update that multiplies the value of the property by the given number. fun mul(property: KProperty<<ERROR CLASS>>, number: Number): Bson fun <T : Number?> mul(property: KProperty<T>, number: Number): Bson |
newId |
Generate a new Id with the IdGenerator.defaultGenerator. fun <T> newId(): Id<T> |
nor |
Creates a filter that performs a logical NOR operation on all the specified filters. fun nor(vararg filters: Bson): Bson fun nor(filters: Iterable<Bson>): Bson |
not |
Creates a filter that matches all documents that do not match the passed in filter. Requires the field name to passed as part of the value passed in and lifts it to create a valid "$not" query: fun not(filter: Bson): Bson |
or |
Creates a filter that preforms a logical OR of the provided list of filters. fun or(filters: Iterable<Bson?>): Bson fun or(vararg filters: Bson?): Bson |
orderBy |
Combine multiple sort specifications. If any properties are repeated, the last one takes precedence. fun orderBy(vararg sorts: KProperty<*>, ascending: Boolean = true): Bson fun orderBy(sorts: List<KProperty<*>>, ascending: Boolean = true): Bson fun orderBy(sorts: Map<out KProperty<Any?>, Boolean>): Bson |
out |
Creates a $out pipeline stage for the specified filter fun out(collectionName: String): Bson |
popFirst |
Creates an update that pops the first element of an array that is the value of the property. fun <T> popFirst(property: KProperty<T>): Bson |
popLast |
Creates an update that pops the last element of an array that is the value of the property. fun <T> popLast(property: KProperty<T>): Bson |
project |
Creates a $project pipeline stage for the specified getProjection fun project(projection: Bson): Bson
Creates a $project pipeline stage for all specified properties fun project(vararg properties: KProperty<*>): Bson fun project(vararg properties: Pair<KProperty<*>, Any?>): Bson fun project(vararg projections: Bson): Bson fun project(properties: Map<out KProperty<*>, Any?>): Bson |
pull |
Creates an update that removes all instances of the given value from the array value of the property. fun <T> pull(property: KProperty<Iterable<T?>?>, value: T?): Bson |
pullAll |
Creates an update that removes all instances of the given values from the array value of the property. fun <T> pullAll(property: KProperty<Iterable<T>?>, values: List<T?>?): Bson |
pullByFilter |
Creates an update that removes all instances of the given value from the array value of the property. fun pullByFilter(property: KProperty<*>, filter: Bson): Bson
Creates an update that removes from an array all elements that match the given filter. fun pullByFilter(filter: Bson): Bson |
push |
Creates an update that adds the given value to the array value of the property. fun <T> push(property: KProperty<Iterable<T>?>, value: T): Bson |
pushEach |
Creates an update that adds each of the given values to the array value of the property, applying the given options for positioning the pushed values, and then slicing and/or sorting the array. fun <T> pushEach(property: KProperty<Iterable<T>?>, values: List<T?>, options: PushOptions = PushOptions()): Bson |
rename |
Creates an update that renames a field. fun <T> rename(property: KProperty<T?>, newProperty: KProperty<T>): Bson |
replaceOne |
Creates an ReplaceOneModel. fun <T> replaceOne(filter: Bson, replacement: T, options: ReplaceOptions = ReplaceOptions()): ReplaceOneModel<T> |
replaceRoot |
Creates a $replaceRoot pipeline stage fun <TExpression> replaceRoot(value: TExpression): Bson |
replaceUpsert |
Creates an ReplaceOptions and set upsert to true. fun replaceUpsert(): ReplaceOptions |
sample |
Creates a $sample pipeline stage with the specified sample size fun sample(size: Int): Bson |
second |
Builds $second expression for this property . fun second(property: KProperty<TemporalAccessor?>): Bson fun second(property: KProperty<ObjectId?>): Bson |
set |
Creates an update that sets the values of the properties to the specified values. fun set(vararg properties: SetTo<*>): Bson |
setOnInsert |
Creates an update that sets the value of the property to the given value, but only if the update is an upsert that results in an insert of a document. fun <T> setOnInsert(property: KProperty<T?>, value: T): Bson |
setValue |
Creates an update that sets the value of the property to the given value. fun <T> setValue(property: KProperty<T?>, value: T?): Bson |
setValueOnInsert |
Creates an update that sets the collection to the given value, but only if the update is an upsert that results in an insert of a document. fun setValueOnInsert(value: Any): Bson |
skip |
Creates a $skip pipeline stage fun skip(skip: Int): Bson |
sort |
Creates a $sort pipeline stage for the specified sort specification fun sort(sort: Bson): Bson |
sortByCount |
Creates a $sortByCount pipeline stage for the specified filter fun <TExpression> sortByCount(filter: TExpression): Bson |
text |
Creates a filter that matches all documents matching the given the search term with the given text search options. fun text(search: String, textSearchOptions: TextSearchOptions = TextSearchOptions()): Bson |
unset |
Creates an update that deletes the property with the given name. fun <T> unset(property: KProperty<T>): Bson |
unwind |
Creates a $unwind pipeline stage for the specified field name, which must be prefixed by a fun unwind(fieldName: String, unwindOptions: UnwindOptions = UnwindOptions()): Bson |
updateMany |
Creates an UpdateManyModel. fun <T> updateMany(filter: Bson, update: Bson, options: UpdateOptions = UpdateOptions()): UpdateManyModel<T> |
updateOne |
Creates an UpdateOneModel. fun <T> updateOne(filter: Bson, update: Bson, options: UpdateOptions = UpdateOptions()): UpdateOneModel<T> |
upsert |
Creates an UpdateOptions and set upsert to true. fun upsert(): UpdateOptions |
week |
Builds $week expression for this property . fun week(property: KProperty<TemporalAccessor?>): Bson fun week(property: KProperty<ObjectId?>): Bson |
where |
Creates a filter that matches all documents for which the given expression is true. fun where(javaScriptExpression: String): Bson |
year |
Builds $year expression for this property . fun year(property: KProperty<TemporalAccessor?>): Bson fun year(property: KProperty<ObjectId?>): Bson |