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.
Thanks for submitting a pull request! Please provide enough information so that others can review your pull request. The two fields below are mandatory.
If you're making a change to documentation, do not modify a
.html
file directly. Instead find the corresponding.pug
file or test case in thetest/docs
directory.Summary
Commit a33c82e made a change to how PopulateOptions was constructed where all options were copied from the original; previously some options were only copied if they were truthy. The slightly weird result of this was a bug which causes a virtual populate field to fail to correctly default to
justOne: false
as it should.I opted to just fix the place where it was treating the undefined value differently than a value not being present to minimize side effects.
Oddly enough it only seems to cause an issue if you're doing a lean query with a populate specifying specific subfields on a virtual field. shrug. This became a critical issue for us today so I tracked it down.
Examples
I added a unit test which can be used to reproduce the issue and verify the fix.