1
0
Fork 0
arangodb/Documentation/DocuBlocks/collectionProperties.md

3.3 KiB

@startDocuBlock collectionProperties @brief gets or sets the properties of a collection collection.properties()

Returns an object containing all collection properties.

  • waitForSync: If true creating a document will only return after the data was synced to disk.

  • journalSize : The size of the journal in bytes.

  • isVolatile: If true then the collection data will be kept in memory only and ArangoDB will not write or sync the data to disk.

  • keyOptions (optional) additional options for key generation. This is a JSON array containing the following attributes (note: some of the attributes are optional):

    • type: the type of the key generator used for the collection.
    • allowUserKeys: if set to true, then it is allowed to supply own key values in the _key attribute of a document. If set to false, then the key generator will solely be responsible for generating keys and supplying own key values in the _key attribute of documents is considered an error.
    • increment: increment value for autoincrement key generator. Not used for other key generator types.
    • offset: initial offset value for autoincrement key generator. Not used for other key generator types.
  • indexBuckets: number of buckets into which indexes using a hash table are split. The default is 16 and this number has to be a power of 2 and less than or equal to 1024.

    For very large collections one should increase this to avoid long pauses when the hash table has to be initially built or resized, since buckets are resized individually and can be initially built in parallel. For example, 64 might be a sensible value for a collection with 100 000 000 documents. Currently, only the edge index respects this value, but other index types might follow in future ArangoDB versions. Changes (see below) are applied when the collection is loaded the next time.

In a cluster setup, the result will also contain the following attributes:

  • numberOfShards: the number of shards of the collection.

  • shardKeys: contains the names of document attributes that are used to determine the target shard for documents.

collection.properties(properties)

Changes the collection properties. properties must be a object with one or more of the following attribute(s):

  • waitForSync: If true creating a document will only return after the data was synced to disk.

  • journalSize : The size of the journal in bytes.

  • indexBuckets : See above, changes are only applied when the collection is loaded the next time.

Note: it is not possible to change the journal size after the journal or datafile has been created. Changing this parameter will only effect newly created journals. Also note that you cannot lower the journal size to less then size of the largest document already stored in the collection.

Note: some other collection properties, such as type, isVolatile, or keyOptions cannot be changed once the collection is created.

@EXAMPLES

Read all properties

@EXAMPLE_ARANGOSH_OUTPUT{collectionProperties} ~ db._create("example"); db.example.properties(); ~ db._drop("example"); @END_EXAMPLE_ARANGOSH_OUTPUT

Change a property

@EXAMPLE_ARANGOSH_OUTPUT{collectionProperty} ~ db._create("example"); db.example.properties({ waitForSync : true }); ~ db._drop("example"); @END_EXAMPLE_ARANGOSH_OUTPUT

@endDocuBlock