MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Supprimer les sous-champs du document mongoDb

Merci à tous ceux qui m'ont aidé avec cette question. J'ai trouvé problème. Quand j'ai écrit la question, j'ai utilisé une version simple de la requête de mise à jour. Ceci est la version complète

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

Mon problème était dans cette partie du code. Ici, j'utilise des modificateurs et des non-modificateurs.

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

Je l'ai réécrit comme ça et tout va bien

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