Per rimuovere un elemento da un array si utilizza $pull
operatore. Questo richiede un'espressione "query" per identificare l'elemento che desideri rimuovere:
$collection->update(
array("_id" => $_GET['post']),
array( '$pull' =>
array(
"comments" => array(
"_id" => new MongoId( $_GET['id'] )
)
)
)
);
La parte "query" di $pull
agisce sui singoli elementi dell'array specificato, quindi tutto ciò che soddisfa la condizione verrà rimosso dall'array. Ma è anche importante che il tuo parametro di richiesta sia una "stringa", quindi devi eseguire il cast come un vero ObjectId
valore che puoi trasmettere in PHP con MongoId
classe dal conducente.