MongoDB driver for Kotlin (synchronous, with Java helpers)¶
Blocking/synchronous driver for MongoDB Java users.
While KtMongo is a Kotlin-first library, we are prototyping its usage from Java. The KtMongo builder-based DSL can still be more convenient to use in Java than the official driver, because it deals with conditional requests more elegantly.
Note that this is a prototype. It is not complete and is not our priority for now. However, we welcome contributions.
Configuration¶
Add a dependency on dev.opensavvy.ktmongo:driver-sync-java.
In a Java project:
In a Kotlin JVM project:
plugins {
kotlin("jvm")
}
dependencies {
implementation("dev.opensavvy.ktmongo:driver-sync:VERSION-HERE")
}
Basic usage¶
Start by creating a com.mongodb.client.MongoCollection instance by following the instructions from the official Java driver.
Use the method KtMongo.from to convert it into a KtMongo collection.
Because Java doesn't provide optional parameters, and because Java and Kotlin lambdas are slightly different, we offer convenience methods.
You can find more complex examples in the test directory.
Java doesn't support operator overloading, so the User::profile / Profile::name syntax isn't possible. It is replaced by the JavaField class, which provides similar functionality.