Right now, $isolated is handled as an expression tree node. When update wants to find out if the current op is $isolated, it needs to walk the children of the expression root.
It would probably be better if something like CanonicalQuery obtained this information during the initial parse and cached it.
The $isolated node probably doesn't need to stay in the tree.
- is depended on by
-
SERVER-22833 MatchExpression::toBSON does not necessarily produce a valid query object.
- Closed
- related to
-
SERVER-17846 Non-update/non-delete user operations should fail with error if $isolated included in query predicate
- Closed