MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

MongoDB/PHP removendo um item de array específico dentro do documento


Para remover um elemento de um array você usa o $pull operador. Isso leva uma expressão de "consulta" para identificar o elemento que você deseja remover:
$collection->update( 
    array("_id" => $_GET['post']),
    array( '$pull' => 
        array(
            "comments" => array(
                "_id" => new MongoId( $_GET['id'] )
            )
        )
    )
);

A parte "query" de $pull atua nos elementos individuais da matriz especificada, portanto, qualquer coisa que corresponda à condição será removida da matriz. Mas também é importante que seu parâmetro de solicitação seja uma "string", então você precisa converter isso como um ObjectId real valor que você pode converter em PHP com o MongoId classe do motorista.