Ik denk dat je hier twee aparte queries moet doen. Dat is gewoon te voorwaardelijk voor MongoDB-queryparser om te verwerken.
U moet uw logica dus in twee afzonderlijke query's plaatsen, waarbij de tweede er als volgt uitziet:
$db->akis->update(
array("h" => (string) $_SESSION["_id"], "m" => array('$exists' => true)),
array('$set' => array("i" => $name)),
array("multiple" => true)
);
De een na de ander rennen.