A Kotlin toolkit for MongoDB providing native extensions, object mapping, and type-safe queries.
KMongo is a Kotlin toolkit that provides extensions and utilities for working with MongoDB databases. It wraps the core MongoDB Java driver with Kotlin-native APIs, offering features like object mapping, type-safe queries, and support for reactive programming patterns. The project aims to make MongoDB interactions more intuitive and error-resistant for Kotlin developers.
Kotlin developers building applications that use MongoDB as a database, especially those seeking type safety, reactive programming support, or seamless integration with Kotlin idioms.
Developers choose KMongo for its idiomatic Kotlin API, which reduces boilerplate and prevents common type errors while maintaining full compatibility with MongoDB's features and drivers.
[deprecated] KMongo - a Kotlin toolkit for Mongo
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Transparently extends the MongoDB Java driver with Kotlin-friendly syntax, allowing for concise code as highlighted in the README's emphasis on native Kotlin features.
Includes extensions for Reactive Streams, Kotlin Coroutines, Reactor, and RxJava2, enabling modern async programming patterns without locking into a single framework.
Prevents type errors via an optional annotation processor that provides compile-time checks, reducing runtime bugs in database operations.
Supports multiple serialization methods including POJO Codec, Jackson, or Kotlinx Serialization, offering flexibility for different project needs.
Explicitly marked as deprecated in the README, meaning no future updates, bug fixes, or official support, making it risky for any new or ongoing development.
Relies on third-party serialization libraries like Jackson or Kotlinx Serialization, which can introduce version conflicts and additional configuration complexity.
With deprecation, users must migrate to other tools, and existing codebases may become incompatible with newer MongoDB features or Kotlin versions.