Mongo breadcrumb: Summarize the length of long arrays #799
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.
Goal
In Mongo queries, it is very common to set a
filter
with"$in": [ some long array ]
to avoid N+1 queries. Here's how this looks in the breadcrumb:This is a problem because:
Design
To fix this, in the Mongo
filter
field, an Array which (a) has more than 3 members and (b) does not contain nested Arrays or Hashes will be summarized as["LENGTH=42"]
(e.g. if it has 42 members)Changeset
Only changes the Mongo breadcrumb functionality.
This also includes the changes from:
Testing
Tested in RSpec and by TableCheck in production.