Looks like the $id is turned into $criteria = array(_id => $id); before calling ->remove() Don't we only support objects as ids?