apiargs-MongoDBDatabase-method-createCollection-option.yaml 6.66 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238
arg_name: option
name: autoIndexId
type: boolean
description: |

  *Default: true*. Specify false to disable the automatic creation of
  an index on the _id field.

  .. important::
    
     For replica sets, do not set ``autoIndexId`` to ``false``.

  .. deprecated:: 3.2. The ``autoIndexId`` option will be removed in MongoDB v3.4.

optional: true
interface: phpmethod
operation: MongoDB\\Database::createCollection
position: 1
---
arg_name: option
name: indexOptionDefaults
type: array
description: |
  Allows users to specify a default configuration for indexes when
  creating a collection.

  The ``indexOptionDefaults`` option accepts a ``storageEngine`` document,
  which should take the following form::

    { <storage-engine-name>: <options> } 
  
  Storage engine configurations specified when creating indexes are
  validated and logged to the :term:`oplog` during replication to support
  replica sets with members that use different storage engines.
optional: true
interface: phpmethod
operation: MongoDB\\Database::createCollection
position: 2
---
arg_name: option
name: capped
type: boolean
description: |
  To create a capped collection, specify ``true``. If you specify
  ``true``, you must also set a maximum size in the ``size`` option.
optional: true
interface: phpmethod
operation: MongoDB\\Database::createCollection
position: 3
---
arg_name: option
name: size
type: integer
description: |
  Specify a maximum size in bytes for a capped collection. Once a
  capped collection reaches its maximum size, MongoDB removes the older
  documents to make space for the new documents. The ``size`` option is
  required for capped collections and ignored for other collections.
optional: true
interface: phpmethod
operation: MongoDB\\Database::createCollection
position: 4
---
arg_name: option
name: max
type: integer
description: |
   The maximum number of documents allowed in the capped collection. The
   ``size`` option takes precedence over this limit. If a capped
   collection reaches the ``size`` limit before it reaches the maximum
   number of documents, MongoDB removes old documents. If you prefer to
   use the ``max`` limit, ensure that the ``size`` limit, which is
   required for a capped collection, is sufficient to contain the
   maximum number of documents.
interface: phpmethod
operation: MongoDB\\Database::createCollection
optional: true
position: 5
---
arg_name: option
name: storageEngine
type: array
description: |
  Available for the WiredTiger storage engine only.

  Allows users to specify configuration to the storage engine on a
  per-collection basis when creating a collection. The value of the
  ``storageEngine`` option should take the following form::

     { <storage-engine-name>: <options> }

  Storage engine configurations specified when creating collections are
  validated and logged to the :term:`oplog` during replication to support
  replica sets with members that use different storage engines.
interface: phpmethod
operation: MongoDB\\Database::createCollection
optional: true
position: 6
---
arg_name: option
name: flags
type: integer
description: |

  Available for the MMAPv1 storage engine only to set the
  ``usePowerOf2Sizes`` and ``noPadding`` flags.
  
  The |php-library| provides constants that you can combine with a
  :php:`bitwise OR operator <language.operators.bitwise>` to set the
  flag values:
  
  - ``MongoDB\Operation\CreateCollection::USE_POWER_OF_2_SIZES``: ``1``
  - ``MongoDB\Operation\CreateCollection::NO_PADDING``: ``2``

  Defaults to ``1``.
  
  .. note:: 

     MongoDB 3.0 and later ignores the ``usePowerOf2Sizes`` flag. See
     :manual:`collMod </reference/command/collMod>` and
     :manual:`db.createCollection()
     </reference/method/db.createCollection>` for more information.

interface: phpmethod
operation: MongoDB\\Database::createCollection
optional: true
position: 7
---
arg_name: option
name: validator
type: array
description: |
  Allows users to specify :manual:`validation rules or expressions
  </core/document-validation>` for the collection. For more information,
  see :manual:`Document Validation </core/document-validation>`
  in the MongoDB manual.

  The ``validator`` option takes an array that specifies the
  validation rules or expressions. You can specify the expressions using
  the same operators as MongoDB's :manual:`query operators </reference/operator/query>`
  with the exception of :query:`$geoNear`, :query:`$near`,
  :query:`$nearSphere`, :query:`$text`, and :query:`$where`.

  .. note::

     - Validation occurs during updates and inserts. Existing
       documents do not undergo validation checks until modification.

     - You cannot specify a validator for collections in the ``admin``,
       ``local``, and ``config`` databases.

     - You cannot specify a validator for ``system.*`` collections.

operation: MongoDB\\Database::createCollection
interface: phpmethod
optional: true
position: 8
---
arg_name: option
name: validationLevel
type: string
description: |
   Determines how strictly MongoDB applies the
   validation rules to existing documents during an update.

   .. list-table::
      :header-rows: 1

      * - ``validationLevel``

        - Description

      * - ``"off"``

        - No validation for inserts or updates.

      * - ``"strict"``

        - **Default** Apply validation rules to all inserts and all
          updates.
       
      * - ``"moderate"``

        - Apply validation rules to inserts and to updates on existing *valid*
          documents. Do not apply rules to updates on existing *invalid*
          documents.

interface: phpmethod
operation: MongoDB\\Database::createCollection
optional: true
position: 9
---
arg_name: option
name: validationAction
type: string
description: |
   Determines whether to ``error`` on invalid documents or just ``warn``
   about the violations but allow invalid documents to be inserted.

   .. important::

      Validation of documents only applies to those documents as
      determined by the ``validationLevel``.
  
   .. list-table::
      :header-rows: 1

      * - ``validationAction``

        - Description

      * - ``"error"``

        - **Default** Documents must pass validation before the write occurs.
          Otherwise, the write operation fails.
       
      * - ``"warn"``

        - Documents do not have to pass validation. If the document fails
          validation, the write operation logs the validation failure.

interface: phpmethod
operation: MongoDB\\Database::createCollection
optional: true
position: 10
---
source:
  file: apiargs-common-option.yaml
  ref: maxTimeMS
operation: MongoDB\\Database::createCollection
position: 11
---
source:
  file: apiargs-common-option.yaml
  ref: typeMap
operation: MongoDB\\Database::createCollection
position: 12
...