HasUnset¶
Pipeline implementing the $unset stage.
Inheritors¶
Properties¶
context¶
@LowLevelApi
abstract val context: BsonContext
The context used to generate this pipeline.
Functions¶
reinterpret¶
@DangerousMongoApi
@LowLevelApi
abstract fun <New : Any> reinterpret(): Pipeline<New>
Changes the type of the returned document, with no type-safety.
toString¶
JSON representation of this pipeline.
unset¶
Removes fields from documents.
Example¶
We can use this stage to migrate from a schema to a newer schema.
class User(
val name: String,
val age: Int?, // deprecated
val birthYear: Int?, // new field
)
val currentYear = 2025
users.updateManyWithPipeline {
set {
User::birthYear set (of(currentYear) - of(age))
}
unset {
exclude(User::age)
}
}
External resources¶
withStage¶
Creates a new pipeline that expands on the current one by adding stage.
writeTo¶
@LowLevelApi
abstract fun writeTo(writer: BsonValueWriter)
Writes the entire pipeline into writer.