This seems weird -- but I would, in this case, compare the findAndModify command against the update() method -- not the underlying command here.  Sorry.  Will explain a bit in person on Friday.