MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Unterfelder aus dem mongoDb-Dokument entfernen

Danke an alle, die mir bei dieser Frage geholfen haben. Problem gefunden. Als ich die Frage schrieb, verwendete ich eine einfache Version der Update-Abfrage. Dies ist die Vollversion

    c($this->table)->update(
        array(
            '_id'  => new MongoId($uid),
            "on.{$strHid}" => array('$exists' => true),
        ),
        array(
            'mts' => time()
            '$unset'    => array(
                "on.{$strHid}" => 1
            )
        )
    ); 

Mein Problem war in diesem Teil des Codes. Hier verwende ich Modifikatoren und Nicht-Modifikatoren.

        array(
            'mts' => time()
            '$unset'    => array(
                "on.{$strHid}" => 1
            )
        )

Ich habe es so umgeschrieben und alles ok

        array(
            '$set'      => array(
                'mts' => time()
            ),
            '$unset'    => array(
                "on.{$strHid}" => 1
            )
        )