forked from codemix/oriento
-
Notifications
You must be signed in to change notification settings - Fork 0
Query
Giraldo Rosales edited this page Apr 23, 2014
·
1 revision
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');
});