create

Creates a new collection in Kuzzle via the persistence engine, in the provided index.

Available since 1.3.0

You can also provide an optional data mapping that allow you to exploit the full capabilities of our persistent data storage layer, ElasticSearch (check here the mapping capabilities of ElasticSearch).

This method will only update the mapping if the collection already exists.


create([mapping], [options], [callback])

Arguments Type Description
mapping JSON Object Optional data mapping
options JSON Object Optional parameters
callback function Optional callback

Options

Option Type Description Default
queuable boolean Make this request queuable or not true

Return Ralue

Returns the Collection object to allow chaining.


Callback Response

Returns a JSON object containing the raw Kuzzle response.

Usage

Copied to clipboard!

<?php

use \Kuzzle\Kuzzle;

$kuzzle = new Kuzzle('localhost');
$dataCollection = $kuzzle->collection('collection', 'index');

// Optional: a mapping can be provided and will be
// applied when the collection is created
$mapping = [
  'properties' => [
    'field1' => [
      'type' => '<es field type>'
    ],
    'field2' => [
      'type' => '<es field type>'
    ]
  ]
];

try {
  $dataCollection->create(mapping);
}
catch (ErrorException $e) {

}

Callback response:

Copied to clipboard!
{
  "status": 200,
  "error": null,
  "requestId": "<request unique identifier>",
  "controller": "collection",
  "action": "create",
  "collection": "<new collection name>",
  "index": "index",
  "volatile": null,
  "result": {
    "acknowledged": true
  }
}