12345678910111213141516171819202122232425262728293031 |
- Title: Document Partial Updates
- ShortTitle: Partial updates
- Author: Dariusz Górecki <darek.krk@gmail.com>
- ---
- Since the `v1.3.5` You can do *partial updates* of documents.
- > [information]
- > Normally this extension, when using `EmongoDocument::save()` will always **replace** all contents of document
- in DB with the actual values of fields in Yours `EMongoDocument` instance (including all embedded documents etc.)
- You can pass to `EMongoDocument::update()` method a list of attributes for update, this will use an extreme efficient
- Mongo `$set` operator to update only listed fields, see example:
- ~~~
- [php]
- $model = ModelClass::model()->find(); // Find some document to work with
- // change some fields
- $model->field1 = 1;
- $model->field2 = 'value';
- // Optional: run validation, of changed fields:
- $model->validate(array('field1', 'field2'));
- // Use partial update
- $model->update(array('field1', 'field2'), true /* <- second parameter indicates to use partial update mechanism */);
- ~~~
- And thats it, this will only update those 2 fields, rest in DB will not be touched.
|