sql >> Base de Datos >  >> NoSQL >> MongoDB

Eliminar subcampos del documento mongoDb

Gracias a todos los que me ayudaron con esta pregunta. Encontré problema. Cuando escribí la pregunta, usé la versión simple de la consulta de actualización. Esta es la versión completa

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

Mi problema estaba en esta parte del código. Aquí uso modificadores y no modificadores.

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

Lo reescribí así y todo bien

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