Support for _id of binary type (to use UUIDs as _id) #1611
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
While using the ObjectID type is the default implementation in MongoDB, it's technically possible to use anything for the primary key as long as you use a unique value. Some implementations (including mine) use a UUID as the primary key. UUIDs are stored in MongoDB as Binary types. The provider in its current state doesn't work in that situation.
These PR are the changes I've made to make it work. The only thing not included is a trait that automatically generates the UUID on the "creating", for example:
Note that my actual trait is actually more complete, with scopes and such.
I'm not sure this is the best way but it works for my use case and I'm curious to hear feedback. Surely I can be the only one with a need to use UUIDs as _id right? ;)