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.
isOperator in aggregate used a .some() method to iterate over the only key in the array, so now it access it directly. Also added a null check for better safety...
the isOperator helper method used .startsWith method, which is slower than just checking the first character of the string. So I replaced it.
It appears, the isOperator in aggregate and isOperator for queries have the same behaviour somehow, but the one for queries checks for the "special keys". Are those keys also special for the aggregation stage?