lib/mongo-object.js
function traverse(obj) {
      each(obj, (val, indexOrProp) => {
        // Move deeper into the object
        const next = obj[indexOrProp];

        // If we can go no further, then quit
        if (MongoObject.isBasicObject(next)) {
          traverse(next);
        } else if (Array.isArray(next)) {
          obj[indexOrProp] = without(next, REMOVED_MARKER);
          traverse(obj[indexOrProp]);
        }
      });
    }
function traverse(obj) {
      each(obj, (val, indexOrProp) => {
        // Move deeper into the object
        const next = obj[indexOrProp];

        // If we can go no further, then quit
        if (MongoObject.isBasicObject(next)) {
          traverse(next);
        } else if (Array.isArray(next)) {
          obj[indexOrProp] = without(next, REMOVED_MARKER);
          traverse(obj[indexOrProp]);
        }
      });
    }
function traverse ( obj ) { each ( obj , ( val , indexOrProp ) => { // Move deeper into the object const next = obj [ indexOrProp ] ; // If we can go no further, then quit if ( MongoObject . isBasicObject ( next ) ) { traverse ( next ) ; } else if ( Array . isArray ( next ) ) { obj [ indexOrProp ] = without ( next , REMOVED_MARKER ) ; traverse ( obj [ indexOrProp ] ) ; } } ) ; }
Traverse and pull out removed array items at this point
Traverse and pull out removed array items at this point