insert( )


Developer Preview

This API is subject to change. Bug fixes and new features will be released based on developer feedback throughout the preview period.

Adds an item to a collection.

An item can only be inserted into an existing collection. You can create a new collection using the Data Collections API.

The insert() method returns a Promise that resolves to the inserted item after it has been added to the specified collection. The Promise is rejected if the current user does not have "create" permissions for the collection or the specified item includes an _id property whose value matches an existing ID in the collection. Meaning, insert() cannot overwrite an existing item in the collection.

Calling the insert() method triggers the beforeInsert() and afterInsert() hooks if they have been defined.

When inserting an item into a collection that has a reference field, set the value of the reference field to the referenced item's _id value or the entire referenced item object.

The insert() method adds the following properties and values to the item when it adds it to the collection:

  • _id: A unique identifier for an item in a collection, if the item doesn't have one or has one that is undefined. You can optionally provide your own ID. Once an ID is assigned to an item it cannot be changed.
  • _createdDate: The date the item was added to the collection.
  • _updatedDate: The date the item was modified. When the item is first added, the _createdDate and _updatedDate are the same.

Any valid JavaScript object can be added as a property value. The insert() method maintains the structure of the specified object. For example, objects that contain nested objects, arrays, or arrays with nested objects are all added to the collection as defined.

Notes:

  • The maximum size of an item that you can add to a collection is 500kb.
  • If an item's _id property value is set to null or an empty string, an error is thrown.
  • When creating a single-item collection, an item with the system field _id is pre-inserted into the collection. Single-item collections may contain only one item.
  • If there is a pre-existing item in a single-item collection, the insert() method will not run. To update or change an item in a single-item collection see the update() and save() methods.
  • The insert() method does not support multi-reference fields. For multi-reference fields, use insertReference().
  • Translatable collections do not allow insertion and modification of items when working in a non-primary language. For example, if a collection's primary language is English, and the site visitor is viewing the site in French, calling insert() fails and issues an error.
Permissions
Write Data Items
Learn more about app permissions.
Method Declaration
Copy
Method Parameters
dataCollectionIdstringRequired

ID of the collection item belongs to.


itemPartialRequired

Data item to insert.


optionsWixDataUpdateOptions

Options to use when processing this operation.

Returns
Return Type:Promise<WixDataItem>
Did this help?