Search moodle.org's
Developer Documentation

See Release Notes
Long Term Support Release

  • Bug fixes for general core bugs in 4.1.x will end 13 November 2023 (12 months).
  • Bug fixes for security issues in 4.1.x will end 10 November 2025 (36 months).
  • PHP version: minimum PHP 7.4.0 Note: minimum PHP version has increased since Moodle 4.0. PHP 8.0.x is supported too.

Differences Between: [Versions 310 and 401] [Versions 311 and 401] [Versions 39 and 401] [Versions 400 and 401]

(no description)

File Size: 323 lines (13 kb)
Included or required:0 times
Referenced: 0 times
Includes or requires: 0 files

Defines 1 class

CreateCollection:: (4 methods):
  __construct()
  execute()
  createCommand()
  createOptions()


Class: CreateCollection  - X-Ref

Operation for the create command.

__construct(string $databaseName, string $collectionName, array $options = [])   X-Ref
Constructs a create command.

Supported options:

* autoIndexId (boolean): Specify false to disable the automatic creation
of an index on the _id field. For replica sets, this option cannot be
false. The default is true.

This option has been deprecated since MongoDB 3.2. As of MongoDB 4.0,
this option cannot be false when creating a replicated collection
(i.e. a collection outside of the local database in any mongod mode).

* capped (boolean): Specify true to create a capped collection. If set,
the size option must also be specified. The default is false.

* comment (mixed): BSON value to attach as a comment to this command.

This is not supported for servers versions < 4.4.

* changeStreamPreAndPostImages (document): Used to configure support for
pre- and post-images in change streams.

This is not supported for server versions < 6.0.

* clusteredIndex (document): A clustered index specification.

This is not supported for server versions < 5.3.

* collation (document): Collation specification.

* encryptedFields (document): CSFLE specification.

* expireAfterSeconds: The TTL for documents in time series collections.

This is not supported for servers versions < 5.0.

* flags (integer): Options for the MMAPv1 storage engine only. Must be a
bitwise combination CreateCollection::USE_POWER_OF_2_SIZES and
CreateCollection::NO_PADDING. The default is
CreateCollection::USE_POWER_OF_2_SIZES.

* indexOptionDefaults (document): Default configuration for indexes when
creating the collection.

* max (integer): The maximum number of documents allowed in the capped
collection. The size option takes precedence over this limit.

* maxTimeMS (integer): The maximum amount of time to allow the query to
run.

* pipeline (array): An array that consists of the aggregation pipeline
stage(s), which will be applied to the collection or view specified by
viewOn.

* session (MongoDB\Driver\Session): Client session.

* size (integer): The maximum number of bytes for a capped collection.

* storageEngine (document): Storage engine options.

* timeseries (document): Options for time series collections.

This is not supported for servers versions < 5.0.

* typeMap (array): Type map for BSON deserialization. This will only be
used for the returned command result document.

* validationAction (string): Validation action.

* validationLevel (string): Validation level.

* validator (document): Validation rules or expressions.

* viewOn (string): The name of the source collection or view from which
to create the view.

* writeConcern (MongoDB\Driver\WriteConcern): Write concern.

param: string $databaseName   Database name
param: string $collectionName Collection name
param: array  $options        Command options

execute(Server $server)   X-Ref
Execute the operation.

return: array|object Command result document

createCommand()   X-Ref
Create the create command.


createOptions()   X-Ref
Create options for executing the command.