Creating Records with Remote Objects

Create a record by calling create() on a Remote Objects model instance.
create() accepts two arguments, both optional.
RemoteObjectModel.create({field_values}, callback_function)
The field_values block enables you to define and create a record in one statement. Set field values as you do when you create a model, using a JSON string. For example, the following two calls to create() are equivalent.
var ctDetails = { FirstName: 'Marc', LastName: 'Benioff' };

// Call create() on an existing Contact model, with no arguments
var ct = new RemoteObjectModel.Contact(ctDetails);
ct.create();

// Call create() on an empty Contact model, passing in field values
var ct = new RemoteObjectModel.Contact();
ct.create(ctDetails);
create() doesn’t return a result directly. The callback function enables you to handle the server response asynchronously.

All server operations that use Remote Objects are performed asynchronously. Any code that depends on the request being completed, including handling returned results, must be placed in the callback function.

Note

Your callback function can accept up to three arguments.
function callback(Error error, Array results, Object event) { // ... }
See Remote Objects Callback Functions for details about writing Remote Objects callback functions.
The Id field is set on the Remote Object as part of a successful create() call. You can access this field in your callback function.
var ctDetails = { FirstName: 'Marc', LastName: 'Benioff' };
var ct = new RemoteObjectModel.Contact();
ct.create(ctDetails, function(err) {
    if(err) { 
        console.log(err);
        alert(err.message);
    }
    else {
        // this is the contact
        console.log(ct.log());     // Dump contact to log
        console.log(ct.get('Id')); // Id is set when create completes
    }
});
Note the use of the log() function; it’s the equivalent of toString() for Remote Objects.

For clarity, this example uses a global variable, ct, which isn’t a best practice. See Remote Objects Callback Functions for better techniques.

Note