createObject

Collection.createObject(dbApiKey, collectionName, objectJSON[, token])

Creates a new object in a collection.

Parameters

The method has the following parameters:

Parameter

Description

Required

dbApiKey

Database API key.

Yes.

collectionName

Collection name in which to create a new object.

Yes.

objectJSON

JSON object with the content of the new object based on collection structure.

Yes.

token

Session token or database master key. Required if the collection has security enabled.

No.

Response

Response for a successfully created object (regardless of the data used to create the object).

Parameter

Description

_id

ID of the object created.

_createdAt

Date when the object was created.

{
    _id: '5783eb10975afbb10a042f0c',
    _createdAt: {
        '$date': '2016-07-11T18:53:04.287Z'
    }
}
Examples

Create a new object in the Student collection:

var dbApiKey = "c33010af-f263-4443-9897-c2ffaf522956";
var result = Collection.createObject(dbApiKey, "Student", {
  "firstName": "James",
  "lastName": "Brown",
  "isTransferStudent": true,
  "courses":[100, 101],
  "major": {"name":"Chemistry"}, 
  "toAddress": {"collName": "Address", "_id": "57a52992e4b03647ddae32a8"}
});
{
    "_id": "57a52a1be4b0288ba31f1833",
    "_createdAt": {
        "$date": "2016-08-06T00:06:51.407Z"
    }
}
This example shows how to get the ID of the object created:
var dbApiKey = "c33010af-f263-4443-9897-c2ffaf522956";
var result = Collection.createObject(dbApiKey, "Student", {
  "firstName": "James",
  "lastName": "Brown",
  "isTransferStudent": true,
  "courses":[100, 101],
  "major": {"name":"Chemistry"}, 
  "toAddress": {"collName": "Address", "_id": "57a52992e4b03647ddae32a8"}
})._id;
Another example with additional data types:
var result = Collection.createObject(dbApiKey, "BigCollection", {
  "text": "Hello World",
  "number": "1000",
  "date": (new Date()).toISOString(), 
  "array": [1,2,3,4,5],
  "object": {"value1":"hello", "value2":"world"}, 
  "location": [40.7128, -74.0059]
});
This example also includes a user session in the createObject method after user login. If you have enabled ACL for this database collection, and set the default ACL to @Creator, then the ACL column will be automatically filled with the current signed in users ID.

var user = DatabaseUser.login(dbApiKey, "amy", "123");
console.log(user.sessionToken);
var result = Collection.createObject(dbApiKey, "Students", {
  "firstName": "Anna",
  "lastName": "Lee",
  "isTransferStudent": false
}, user.sessionToken);