MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

MongoDB/PHP rimuove uno specifico elemento dell'array all'interno del documento

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.