AndreasVolkmann / Kodein-DB

Multiplatform NoSQL database

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

KODEIN-DI

Kodein-DB is a Kotlin/Multiplatform embedded NoSQL database that works on JVM, Android, Kotlin/Native and iOS. It is suited for client or mobile applications.

Kodein-DB allows you to:

  • Easily store, retrieve and query kotlin objects.
  • Stop carrying about schema definitions.
  • Easily set up a new project.

Kodein-DB is a good choice because it:

  • proposes a very simple and readable DSL.
  • integrates nicely with Android and iOS.
  • offers very good performances.
  • is just Kotlin!

CAUTION: Under no circumstances should it be used in a server!

IMPORTANT

Kodein-DB is in beta.

Although, we do use Kodein-DB in production, this means we cannot ensure the library's correctness and stability. Therefore, we ask that you first try Kodein-DB in non-critical applications, and report any mis-behaviour you may encounter.

Example

.A simple example

val db = DB.open("path/to/db")

db.put(User("John", "Doe"))
db.put(User("Jane", "Doe"))
db.put(User("Someone", "Else"))

val does = db.find<User>().byIndex("lastName", "Doe").models()
println(does.joinToString()) // Jane, John

Support

Contribute

Contributions are very welcome and greatly appreciated! The great majority of pull requests are eventually merged.

To contribute, simply fork https://github.com/Kodein-Framework/Kodein-DB[the project on Github], fix whatever is iching you, and submit a pull request!

We are sure that this documentation contains typos, inaccuracies and languages error. If you feel like enhancing this document, you can propose a pull request that modifies https://github.com/Kodein-Framework/Kodein-DB/tree/master/doc[the documentation documents]. (Documentation is auto-generated from those).

About

Multiplatform NoSQL database


Languages

Language:Kotlin 93.6%Language:C++ 6.1%Language:CMake 0.3%