Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. MongoDB
  3. kmongo

kmongo

Apache-2.0Kotlinkmongo-5.12.0

A Kotlin toolkit for MongoDB providing native extensions, object mapping, and type-safe queries.

Visit WebsiteGitHubGitHub
766 stars76 forks0 contributors

What is kmongo?

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.

Target Audience

Kotlin developers building applications that use MongoDB as a database, especially those seeking type safety, reactive programming support, or seamless integration with Kotlin idioms.

Value Proposition

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.

Overview

[deprecated] KMongo - a Kotlin toolkit for Mongo

Use Cases

Best For

  • Building Kotlin backend services with MongoDB
  • Implementing reactive data access layers with Coroutines or Reactor
  • Ensuring type safety in MongoDB queries and updates
  • Migrating existing Mongo shell scripts to Kotlin code
  • Simplifying object-document mapping in Kotlin applications
  • Leveraging MongoDB with modern async programming patterns

Not Ideal For

  • Starting a new Kotlin-MongoDB project that requires active maintenance and updates
  • Teams needing vendor-backed support or guaranteed compatibility with latest MongoDB versions
  • Developers who prioritize ecosystems with extensive documentation and community activity
  • Applications where long-term stability and security patches are critical

Pros & Cons

Pros

Idiomatic Kotlin Extensions

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.

Flexible Reactive Support

Includes extensions for Reactive Streams, Kotlin Coroutines, Reactor, and RxJava2, enabling modern async programming patterns without locking into a single framework.

Type-Safe Query Validation

Prevents type errors via an optional annotation processor that provides compile-time checks, reducing runtime bugs in database operations.

Object Mapping Options

Supports multiple serialization methods including POJO Codec, Jackson, or Kotlinx Serialization, offering flexibility for different project needs.

Cons

Deprecated Project Status

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.

Dependency on External Libraries

Relies on third-party serialization libraries like Jackson or Kotlinx Serialization, which can introduce version conflicts and additional configuration complexity.

Limited Long-Term Viability

With deprecation, users must migrate to other tools, and existing codebases may become incompatible with newer MongoDB features or Kotlin versions.

Frequently Asked Questions

Quick Stats

Stars766
Forks76
Contributors0
Open Issues44
Last commit15 days ago
CreatedSince 2016

Tags

#object-mapping#database-driver#mongo#nosql#mongodb#type-safe-queries#kotlin#kotlin-coroutines#reactive-streams

Built With

K
Kotlinx Serialization
K
Kotlin
M
MongoDB Java Driver
J
Jackson
R
Reactor
R
RxJava2

Links & Resources

Website

Included in

MongoDB2.6k
Auto-fetched 1 day ago

Related Projects

driver-kotlin-coroutinedriver-kotlin-coroutine

The official MongoDB drivers for Java, Kotlin, and Scala

Stars2,662
Forks1,499
Last commit1 day ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub