Home

Awesome

<span style="color:red">KMongo is now deprecated</span> : do not use it for a new project

<span style="color:red">Look at the Deprecation notice</span>

Gitter Maven Central Apache2 license Build Status codebeat badge codecov Awesome Kotlin Badge Pure Kotlin

KMongo

KMongo logo

A Kotlin toolkit for Mongo

Documentation: https://litote.org/kmongo

Forum: https://groups.google.com/forum/#!forum/kmongo

Native and Lightweight

KMongo features are available via Kotlin extensions - you use transparently the core MongoDB java driver API (both sync and reactive streams (ie async) drivers are supported)

With complete reactive streams & async support

You can use extensions for reactive streams style, Kotlin Coroutines, Reactor or RxJava2.

Built-in Object Mapping

Object oriented programming is usually better - use Objects, not Maps. Powered by the native POJO Codec, the Jackson library or Kotlinx Serialization.

Type-safe queries

Have you already queried an Int field with a String value? With KMongo type-safe queries, avoid the type errors. Provided with an optional annotation processor.

Mongo shell queries

You can copy/paste your queries from the Mongo shell in your IDE. Write readable source code!

Contributors

Acknowledgment

KMongo uses an open source license gracefully provided by <a href="https://www.yourkit.com/java/profiler/"><img alt="YourKit" src="https://www.yourkit.com/images/yklogo.png" width="92"></a> for monitoring and profiling.