Reordering nodes can cause #ancestor to give results out of order #39
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.
Here's some sample output.
This is the order that my parent ids are stored in the array:
This is the order that they are returned by #ancestors:
You'll notice the last 2 are flipped.
It seems that when no sort order is specified, MongoDB returns documents based on the order that they are stored in the disk: http://docs.mongodb.org/manual/reference/glossary/#term-natural-order
It seems to me that the least computationally expensive way to do this is to add a depth field, which may come in handy other places as well. I'm not very experienced with mongodb, so if anyone has a better suggestion I'm very open to it.