sql >> Databáze >  >> NoSQL >> MongoDB

MongoDB/PHP odebírá konkrétní položku pole uvnitř dokumentu

K odstranění prvku z pole použijte $pull operátor. To vyžaduje výraz „query“ k identifikaci prvku, který chcete odstranit:

$collection->update( 
    array("_id" => $_GET['post']),
    array( '$pull' => 
        array(
            "comments" => array(
                "_id" => new MongoId( $_GET['id'] )
            )
        )
    )
);

Část "dotaz" $pull působí na jednotlivé prvky zadaného pole, takže vše, co odpovídá podmínce, bude z pole odstraněno. Ale také je důležité, že váš parametr požadavku je „řetězec“, takže jej musíte přenést jako skutečný ObjectId hodnotu, kterou můžete přenést v PHP pomocí MongoId třídy od řidiče.




  1. Jak funguje ServiceStack Redis při získávání dat

  2. Pokud klíč neexistuje Mongoose, vložte hodnotu do pole

  3. Redis set vs hash

  4. Optimalizovaný způsob dotazování v MongoDB pomocí $in vs $or