Navigation

MongoDB\Database::modifyCollection()

New in version 1.4.

Definition

MongoDB\Database::modifyCollection

Modifies a collection or view according to the specified $collectionOptions.

function modifyCollection($collectionName, array $collectionOptions, array $options = []): array|object

This method has the following parameters:

Parameter Type Description
$collectionName string The name of the collection or view to modify.
$collectionOptions array Collection or view options to assign.
$options array Optional. An array specifying the desired options.

The $options parameter supports the following options:

Option Type Description
session MongoDB\Driver\Session Optional. Client session to associate with the operation.
typeMap array

Optional. The type map to apply to cursors, which determines how BSON documents are converted to PHP values. Defaults to the database’s type map.

This will be used for the returned command result document.

writeConcern MongoDB\Driver\WriteConcern Optional. Write concern to use for the operation. Defaults to the database’s write concern.

Return Values

An array or object with the result document of the collMod command.

Errors/Exceptions

MongoDB\Exception\InvalidArgumentException for errors related to the parsing of parameters or options.

MongoDB\Driver\Exception\RuntimeException for other errors at the driver level (e.g. connection errors).

Example

The following example changes the expiration time of a TTL collection in the test database:

<?php

$db = (new MongoDB\Client)->test;

$result = $db->modifyCollection('users', [
    'keyPattern' => ['lastAccess' => 1],
    'expireAfterSeconds' => 1000
]);

var_dump($result);

The output would then resemble:

object(stdClass)#2779 {
  ["expireAfterSeconds_old"]=>
  int(3)
  ["expireAfterSeconds_new"]=>
  int(1000)
  ["ok"]=>
  float(1)
}

See Also

  • collMod command reference in the MongoDB manual