Grazie a tutti coloro che mi hanno aiutato con questa domanda. Ho trovato un problema. Quando ho scritto la domanda, ho usato una versione semplice della query di aggiornamento. Questa è la versione completa
c($this->table)->update(
array(
'_id' => new MongoId($uid),
"on.{$strHid}" => array('$exists' => true),
),
array(
'mts' => time()
'$unset' => array(
"on.{$strHid}" => 1
)
)
);
Il mio problema era in questa parte del codice. Qui uso modificatori e non modificatori.
array(
'mts' => time()
'$unset' => array(
"on.{$strHid}" => 1
)
)
L'ho riscritto così e tutto ok
array(
'$set' => array(
'mts' => time()
),
'$unset' => array(
"on.{$strHid}" => 1
)
)