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.
This prevents multiple queries and large amounts of data being transferred between being the client and server. The large amounts of data being transferred messes with the performance characteristics this is meant to provide.
NOTE: This change fundamentally changes how buckets work!
BucketOptionsAttribute
The "Index" column change was fundamentally required to keep bucket ordering without fetching the last index from the DB. For the most part, interacting with buckets generated by the old process should still work - your data would still be there. Where there would be complete incompatibility is whether your sub-entity actually has a
DateTime
property as that is unfortunately the only way this works. This new process follows the documentation here: https://www.mongodb.com/blog/post/time-series-data-and-mongodb-part-2-schema-design-best-practicesThe "buckets no longer have a change tracker" is mostly related to switching to command staging rather than an entity collection. Additionally however, buckets aren't designed for editing existing data or removing individual items - it is designed for mass storage of small pieces of data. With the
EntityBucketStagingCollection
being redundant, having a collection at all (and thus a change tracker) was pointless.If this change breaks your workflow - I recommend manually bringing in the removed
EntityBucketStagingCollection
and creating your own version of theMongoDbBucketSet
. Yes that sucks though breaking changes like this can happen from time-to-time prior to v1.0.0 - the majority of the time however, I endeavour to avoid breaking changes for common use cases.