Query Builder: Insert Record

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

Query Builder: Update Record

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

Query Builder: Delete Record

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

Query Builder: Select Records

  1. db.select().from('OUser').where({status: 'ACTIVE'}).all()
  2. .then(function (users) {
  3. console.log('active users', users);
  4. });
  1. db.select().from('OUser').containsText({name: 'er'}).all()
  2. .then(function (users) {
  3. console.log('found users', users);
  4. });

Query Builder: Select Records with Fetch Plan

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

Query Builder: Select an expression

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

Query Builder: Traverse Records

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

Query Builder: Return a specific column

  1. db
  2. .select('name')
  3. .from('OUser')
  4. .where({status: 'ACTIVE'})
  5. .column('name')
  6. .all()
  7. .then(function (names) {
  8. console.log('active user names', names.join(', '));
  9. });

Query Builder: Transform a field

  1. db
  2. .select('name')
  3. .from('OUser')
  4. .where({status: 'ACTIVE'})
  5. .transform({
  6. status: function (status) {
  7. return status.toLowerCase();
  8. }
  9. })
  10. .limit(1)
  11. .one()
  12. .then(function (user) {
  13. console.log('user status: ', user.status); // 'active'
  14. });

Query Builder: Transform a record

  1. db
  2. .select('name')
  3. .from('OUser')
  4. .where({status: 'ACTIVE'})
  5. .transform(function (record) {
  6. return new User(record);
  7. })
  8. .limit(1)
  9. .one()
  10. .then(function (user) {
  11. console.log('user is an instance of User?', (user instanceof User)); // true
  12. });

Query Builder: Specify default values

  1. db
  2. .select('name')
  3. .from('OUser')
  4. .where({status: 'ACTIVE'})
  5. .defaults({
  6. something: 123
  7. })
  8. .limit(1)
  9. .one()
  10. .then(function (user) {
  11. console.log(user.name, user.something);
  12. });

Query Builder: Put a map entry into a map

  1. db
  2. .update('#1:1')
  3. .put('mapProperty', {
  4. key: 'value',
  5. foo: 'bar'
  6. })
  7. .scalar()
  8. .then(function (total) {
  9. console.log('updated', total, 'records');
  10. });