Skip to content
Giraldo Rosales edited this page Apr 23, 2014 · 1 revision

SQL

Send SQL-like commands to OrientDB.

db.query(sql);

Example:

db.query('SELECT FROM V LIMIT 5')
  .then(function(results){
    console.log('Query results: ', results);
  });

## Select

One Select a single record from the query. Results are returned as an object.

db.select().from(class).where(params).one();

All Select all records from a query. Results are returned with an array of record objects.

db.select().from(class).where(params).all();

Example:

db.select()
  .from('OUser')
  .where({status: 'ACTIVE'})
  .all()
  .then(function (users) {
    console.log('active users', users);
  });

Limits Limit the number of records that are returned.

db.select().from(class).where(params).limit(limits).all();

Fetch Plan Select Records with Fetch Plan.

db.select().from(class).where(params).fetch(plan).all();

Example:

db.select()
  .from('OUser')
  .where({status: 'ACTIVE'})
  .fetch({role: 5})
  .all()
  .then(function(users) {
    console.log('active users', users);
  });

Expressions Select an expression

db.select(expression).from(class).where(params).scalar();

Example:

db.select('count(*)')
  .from('OUser')
  .where({status: 'ACTIVE'})
  .scalar()
  .then(function(total) {
    console.log('total active users', total);
  });

Return a specific column

db.select(expression).from(class).where(params).column(columnName).all();

Example:

db.select('name')
  .from('OUser')
  .where({status: 'ACTIVE'})
  .column('name')
  .all()
  .then(function(names) {
    console.log('active user names', names.join(', '));
  });


## Transform ```javascript db.select(expression).from(class).where(params).transform(fields).all(); ```

Parameters:

  • expression (String) - properties to select.
  • class (String) - Class name.
  • params (Object) - Where params to restrict the selection of results.
  • fields (Object) - Fields to transform results.

Response:

  • list (Array) - List of record objects.

Example: Transform a field

db.select('name')
  .from('OUser')
  .where({status: 'ACTIVE'})
  .transform({
    status: function(status) {
      return status.toLowerCase();
    }
  })
  .limit(1)
  .one()
  .then(function(user) {
    console.log('user status: ', user.status); 'active'
  });

Example: Transform a record

db.select('name')
  .from('OUser')
  .where({status: 'ACTIVE'})
  .transform(function(record) {
    return new User(record);
  })
  .limit(1)
  .one()
  .then(function(user) {
    console.log('user is an instance of User?', (user instanceof User)); true
  });


## Defaults Specify default values. If results fail to return a value, a default will be used instead. ```javascript db.select(expression).from(class).where(params).defaults(defaults).all(); ```

Parameters:

  • expression (String) - properties to select.
  • class (String) - Class name.
  • params (Object) - Where params to restrict the selection of results.
  • defaults (Object) - Default values.

Response:

  • list (Array) - List of record objects.

Example:

db.select('name')
  .from('OUser')
  .where({status: 'ACTIVE'})
  .defaults({
    something: 123
  })
  .limit(1)
  .one()
  .then(function(user) {
    console.log(user.name, user.something);
  });


## Traverse ```javascript db.traverse().from(class).where(params).all(); ```

Parameters:

  • class (String) - Class name.
  • params (Object) - Where params to restrict the selection of results.

Response:

  • list (Array) - List of record objects.

Example:

db.traverse()
  .from('OUser')
  .where({name: 'guest'})
  .all()
  .then(function(records) {
    console.log('found records', records);
  });


## Insert ```javascript db.insert().into(class).set(properties).one(); ```

Parameters:

  • class (String) - Class name.
  • properties (Object) - Properties to set.

Response:

  • Record (Object) - Record object.

Example:

db.insert()
  .into('OUser')
  .set({name: 'demo', password: 'demo', status: 'ACTIVE'})
  .one()
  .then(function(user) {
    console.log('created', user);
  });


## Update ```javascript db.update(class).set(properties).where(params).scalar(); ```

Parameters:

  • class (String) - Class name.
  • properties (Object) - Properties to set.
  • params (Object) - Where params to restrict the selection of results.

Response:

  • results (Number) - Number of records updated.

Example:

db.update('OUser')
  .set({password: 'changed'})
  .where({name: 'demo'})
  .scalar()
  .then(function(total) {
    console.log('updated', total, 'users');
  });


## Delete ```javascript db.delete().from(class).where(params).limit(limits).scalar(); ```

Parameters:

  • class (String) - Class name.
  • params (Object) - Where params to restrict the selection of results.
  • limits (String) - Maximum number of results to return.

Response:

  • results (Boolean) - If record is deleted, returns true. Otherwise false.

Example:

db.delete()
  .from('OUser')
  .where({name: 'demo'})
  .limit(1)
  .scalar()
  .then(function(total) {
    console.log('deleted', total, 'users');
  });

Clone this wiki locally