# KMongo is now deprecated : do not use it for a new project Look at the [Deprecation notice](https://litote.org/kmongo) [![Gitter](https://badges.gitter.im/kmongoo/Lobby.svg)](https://gitter.im/kmongoo/Lobby?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=body_badge) [![Maven Central](https://img.shields.io/maven-central/v/org.litote.kmongo/kmongo)](https://central.sonatype.com/artifact/org.litote.kmongo/kmongo) [![Apache2 license](https://img.shields.io/badge/license-Apache%20License%202.0-blue.svg?style=flat)](https://www.apache.org/licenses/LICENSE-2.0) [![Build Status](https://api.travis-ci.com/Litote/kmongo.png)](https://app.travis-ci.com/github/Litote/kmongo) [![codecov](https://codecov.io/gh/Litote/kmongo/branch/master/graph/badge.svg)](https://codecov.io/gh/Litote/kmongo) [![Awesome Kotlin Badge](https://kotlin.link/awesome-kotlin.svg)](https://github.com/KotlinBy/awesome-kotlin) [![Pure Kotlin](https://img.shields.io/badge/100%25-kotlin-blue.svg)](https://kotlinlang.org/) # [KMongo](https://litote.org/kmongo) [![KMongo logo](https://litote.org/kmongo/kmongo.png "KMongo")](https://litote.org/kmongo) ## A Kotlin toolkit for Mongo Documentation: [https://litote.org/kmongo](https://litote.org/kmongo) Forum: [https://groups.google.com/forum/#!forum/kmongo](https://groups.google.com/forum/#!forum/kmongo) ### Native and Lightweight KMongo features are available via [Kotlin extensions](https://kotlinlang.org/docs/reference/extensions.html) - you use transparently [the core MongoDB java driver API](https://www.mongodb.com/docs/drivers/java-drivers/) (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](https://kotlinlang.org/docs/reference/coroutines.html), [Reactor](https://projectreactor.io/) or [RxJava2](http://reactivex.io/). ### Built-in Object Mapping Object oriented programming is usually better - use Objects, not Maps. Powered by the native [POJO Codec](https://mongodb.github.io/mongo-java-driver/3.5/bson/pojos/), the [Jackson library](https://github.com/FasterXML/jackson) or [Kotlinx Serialization](https://github.com/Kotlin/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 * [Deny Prasetyo](https://github.com/jasoet) (kmongo-coroutine) * [Dilius](https://github.com/diliuskh) (kmongo-rxjava2) * [Jocelyn Ntakpe](https://github.com/jntakpe) (kmongo-reactor) * [Denis Kilchichakov](https://github.com/augur) (kmongo-coroutine) ## Acknowledgment KMongo uses an open source license gracefully provided by YourKit for monitoring and profiling.