Comment from andreas.braun@mongodb.com
I can identify three ways of calling the method:
- Push a single value (object or otherwise): push('fieldName', 'foo')
- Push a list of values using $each: push('fieldName', ['foo', 'bar'])
- Specify a raw value for the selected operator: push(['fieldName' => 'foo', 'otherField' => 'bar'])
Throwing an exception is probably the best course of action and we should make sure to document the usages accordingly.