Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Appreciation post #426

Open
krisgerhard opened this issue Oct 19, 2023 · 9 comments
Open

Appreciation post #426

krisgerhard opened this issue Oct 19, 2023 · 9 comments

Comments

@krisgerhard
Copy link

This is probably not the right place for this but it has to be said.

I want to say a huge thank you for the contributors of this repository, especially @zigzago, for creating this wonderful library!
You were most probably the reason why we stuck to MongoDB in many of our Kotlin projects. I'm sure we are not the only ones.

PS! I, personally, would like to hear you take on why kmongo didn't become part of official driver as I saw some pull-requests which were later closed. On one side migration to the official driver was fairly simple (with kotlinx.serialization) but as of today kmongo still wins by a huge margin when it comes to readability and developer convenience. As official Kotlin driver has taken a different route, have there been talks to include the vast collection of extension functions from kmongo to official repository?

Best of luck for the future!

@zigzago
Copy link
Member

zigzago commented Oct 23, 2023

Thank you for the appreciation ! It was a pleasure to develop kmongo all these years :)

The MongoDb team has decided in the end to start from scratch, as they will maintain the driver. It was easier for them (and cleaner for their users) to understand the entire code base. And I agree with this decision.

I still intend to develop a third party library inspired from kmongo, to add some syntactic sugar to the mongo driver. I haven't found the time yet, but I think I will when I start migrating my own projects :)

@lsafer-meemer
Copy link

I have the same view. The official driver is just the java driver trying to pretend they know Kotlin. Yours is actually embracing the power of kotlin and using its features and style.

@lsafer-meemer
Copy link

My personal opinion is you should continue support this project and undeprecate it and make it like mongoose defeat the official driver

@FishHawk
Copy link

FishHawk commented Nov 16, 2023

A few days ago, I tried migrating to the official repository, but it failed. The polymorphic data classes using kotlinx.serialization could not be stored in the database, and the classes of kotlinx-datetime were encoded as strings instead of timestamps by default.

If someone also has similar requirements, migrating may not be a good idea for now.

@mervyn-mccreight
Copy link

and the classes of kotlinx-datetime were encoded as strings instead of timestamps by default.

This might be because kotlinx-datetime defaults the serialisation of Instant to the InstantIso8601Serializer which serialises to a string. I'd actually be confused if that would be different when using KMongo by default - is that really the case?

@FishHawk
Copy link

and the classes of kotlinx-datetime were encoded as strings instead of timestamps by default.

This might be because kotlinx-datetime defaults the serialisation of Instant to the InstantIso8601Serializer which serialises to a string. I'd actually be confused if that would be different when using KMongo by default - is that really the case?

KMongo serializes kotlinx-datetime correctly by default, at least in my project.

@kageru
Copy link

kageru commented Mar 12, 2024

I still intend to develop a third party library inspired from kmongo, to add some syntactic sugar to the mongo driver. I haven't found the time yet, but I think I will when I start migrating my own projects :)

Any progress or ETA on this, and is there anything the community could help you with? The official driver feels so much worse to use, and I could spare some time to help write kmongo-style wrappers around it for the convenience and type safety we were used to.

@mervyn-mccreight
Copy link

I still intend to develop a third party library inspired from kmongo, to add some syntactic sugar to the mongo driver. I haven't found the time yet, but I think I will when I start migrating my own projects :)

Any progress or ETA on this, and is there anything the community could help you with? The official driver feels so much worse to use, and I could spare some time to help write kmongo-style wrappers around it for the convenience and type safety we were used to.

Same for me.

@zigzago
Copy link
Member

zigzago commented May 26, 2024

I know the Mongo team is actively working on this type of wrapper. The best option is therefore to wait. I'm very busy on other projects, but I now know that I will have time this summer to work on these wrappers if it proves necessary. For now I upgraded kmongo to Kotlin 2 and Java 5.1 driver

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants