Phalcon\Db\Adapter\MongoDB\Operation\Update::__construct PHP Метод

__construct() публичный Метод

Supported options: * bypassDocumentValidation (boolean): If true, allows the write to opt out of document level validation. * multi (boolean): When true, updates all documents matching the query. This option cannot be true if the $update argument is a replacement document (i.e. contains no update operators). The default is false. * upsert (boolean): When true, a new document is created if no document matches the query. The default is false. * writeConcern (MongoDB\Driver\WriteConcern): Write concern.
public __construct ( string $databaseName, string $collectionName, array | object $filter, array | object $update, array $options = [] )
$databaseName string Database name
$collectionName string Collection name
$filter array | object Query by which to delete documents
$update array | object Update to apply to the matched document(s) or a replacement document
$options array Command options
    public function __construct($databaseName, $collectionName, $filter, $update, array $options = [])
    {
        if (!is_array($filter) && !is_object($filter)) {
            throw InvalidArgumentException::invalidType('$filter', $filter, 'array or object');
        }
        if (!is_array($update) && !is_object($update)) {
            throw InvalidArgumentException::invalidType('$update', $filter, 'array or object');
        }
        $options += ['multi' => false, 'upsert' => false];
        if (isset($options['bypassDocumentValidation']) && !is_bool($options['bypassDocumentValidation'])) {
            throw InvalidArgumentException::invalidType('"bypassDocumentValidation" option', $options['bypassDocumentValidation'], 'boolean');
        }
        if (!is_bool($options['multi'])) {
            throw InvalidArgumentException::invalidType('"multi" option', $options['multi'], 'boolean');
        }
        if ($options['multi'] && !Functions::isFirstKeyOperator($update)) {
            throw new InvalidArgumentException('"multi" option cannot be true if $update is a replacement document');
        }
        if (!is_bool($options['upsert'])) {
            throw InvalidArgumentException::invalidType('"upsert" option', $options['upsert'], 'boolean');
        }
        if (isset($options['writeConcern']) && !$options['writeConcern'] instanceof WriteConcern) {
            throw InvalidArgumentException::invalidType('"writeConcern" option', $options['writeConcern'], 'MongoDB\\Driver\\WriteConcern');
        }
        $this->databaseName = (string) $databaseName;
        $this->collectionName = (string) $collectionName;
        $this->filter = $filter;
        $this->update = $update;
        $this->options = $options;
    }