How to use MongoDB update operators

ichikaway edited this page Apr 21, 2011 · 3 revisions

CakeMongo always uses $set operator for update.

If you don't want to use $set operator, you can chose any one as follw.

  • Set TRUE in Model::mongoNoSetOperator property.

  • Set a mongodb operator in a key of save data as follow. Don't use Model::mongoSchema property,CakePHP delete '$inc' data in Model::Save().

Model->save(array('_id' => $id, '$inc' => array('count' => 1)));
  • Set a Mongo operator in Model::mongoNoSetOperator property.
Model->mongoNoSetOperator = '$inc';
Model->save(array('_id' => $id, array('count' => 1)));

If you want to know examples, please check test code "testUpdate()" and " testUpdateWithout_mongoSchemaProperty()"