Comments (10)
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 :)
from kmongo.
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.
from kmongo.
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.
from kmongo.
My personal opinion is you should continue support this project and undeprecate it and make it like mongoose defeat the official driver
from kmongo.
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.
from kmongo.
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?
from kmongo.
and the classes of kotlinx-datetime were encoded as strings instead of timestamps by default.
This might be because
kotlinx-datetime
defaults the serialisation ofInstant
to theInstantIso8601Serializer
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.
from kmongo.
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.
from kmongo.
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
from kmongo.
I, as well, want to thank you for all the work you've done over the years :) MongoDB would definitely not be such a popular option in the Kotlin ecosystem without you.
I still intend to develop a third party library inspired from kmongo, to add some syntactic sugar to the mongo driver.
I have started working on such a project, but it's too soon to be able to show it. Hopefully, I'll be able to publish an MVP in the next ~6 months. I'm focusing on operator safety (avoid confusion between regular operators and aggregation operators that have the same name but different syntax), documentation, and aggregations.
from kmongo.
Related Issues (20)
- update error when use nested properties and `setTo`
- ERROR: Invalid build configuration. Attempt to create a global synthetic for 'Record desugaring' without a global-synthetics consumer. HOT 4
- ERROR: 'WrappedObjectId' is not registered for polymorphic serialization in the scope of 'Id' HOT 1
- Consider adding a classpath argument to the ServiceLoader.load call in ClassMappingType.kt
- Can CoroutineCollection<T>.replaceOne(replacement, options) be made non reified?
- Wrong regular expression generated HOT 1
- Use mongodb kotlin bson implementation HOT 1
- kotlinx - UUID Serializer - String HOT 4
- Support for CSFLE and Queryability Encryption HOT 1
- Feature Request - MongoDB Compass Pipeline shell to kotlin kmongo support
- @Transient from kotlin serialization does not deserialize data? HOT 1
- When using SerialName, the Bson document generated by kmongo is incorrect HOT 2
- From version 4.7.0 Java 8 compatibility is broken HOT 6
- Request: Add explicit error message when incorrectly registering codecs to prevent OutOfMemoryError
- Kotlinx Serialization? HOT 4
- Add support to pass options to aggregate query (hint and allowDiskUse)
- How to aggregate objects by regex on list HOT 1
- STOP debug org.mongodb.driver logs HOT 1
- Expose default Jackson codec HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from kmongo.