Example #1
0
        _.each(criteria.joins, function (join) {
            //console.log(join.childKey)
            //console.log(criteria.where)
            var _id = criteria.where[join.childKey]
            if (!_id)
                _id = criteria.where._key

            //console.log(join)
            ret += ', "' + join.alias + '" : (FOR ' + join.alias + ' IN ANY ' + aqb.str(join.parent + '/' + _id).toAQL() +
                ' GRAPH ' + aqb.str(me.graph.name).toAQL() + '' +
                ' OPTIONS {bfs: true, uniqueVertices: true} FILTER IS_SAME_COLLECTION("' +join.child + '", ' + join.alias + ') RETURN ' + join.alias + ')';
        });
Example #2
0
 _.each(options.where, function (v, k) {
     if (whereStr !== '') whereStr += ' AND ';
     switch (k) {
         case 'id':
             whereStr += 'd._key == ' + aqb.str(v).toAQL();
             break;
         case '_key':
         case '_rev':
             whereStr += 'd.' + k + ' == ' + aqb.str(v).toAQL();
             break;
         default:
             whereStr += 'd.' + k + ' == ' + aqb(v).toAQL();
             break;
     }
 });
Example #3
0
  _query: function (cfg) {
    if (!db._foxxlog) {
      return [];
    }

    if (!cfg.opts) {
      cfg.opts = {};
    }

    var query = qb.for('entry').in('_foxxlog');

    query = query.filter(qb.eq('entry.mount', qb.str(this._console._mount)));

    query = query.filter(qb.gte(
      'entry.time',
      exists(cfg.opts.startTime)
      ? qb.num(cfg.opts.startTime)
      : Date.now() - this.defaultMaxAge
    ));

    if (exists(cfg.opts.endTime)) {
      query = query.filter(qb.lte('entry.time', qb.num(cfg.opts.endTime)));
    }

    if (exists(cfg.opts.level)) {
      query = query.filter(
        typeof cfg.opts.level === 'number'
        ? qb.eq('entry.levelNum', qb.num(cfg.opts.level))
        : qb.eq('entry.level', qb.str(cfg.opts.level))
      );
    }

    if (exists(cfg.opts.minLevel)) {
      var levelNum = cfg.opts.minLevel;
      if (typeof levelNum !== 'number') {
        if (!this._console._logLevels.hasOwnProperty(levelNum)) {
          throw new Error('Unknown log level: ' + levelNum);
        }
        levelNum = this._console._logLevels[levelNum];
      }
      query = query.filter(qb.gte('entry.levelNum', qb.num(levelNum)));
    }

    if (exists(cfg.fileName)) {
      query = query.filter(qb.LIKE('entry.stack[*].fileName', qb.str('%' + cfg.fileName + '%'), true));
    }

    if (exists(cfg.message)) {
      query = query.filter(qb.LIKE('entry.message', qb.str('%' + cfg.message + '%'), true));
    }

    query = query.sort('entry.time', 'ASC');

    if (exists(cfg.opts.limit)) {
      if (exists(cfg.opts.offset)) {
        query = query.limit(cfg.opts.offset, cfg.opts.limit);
      } else {
        query = query.limit(cfg.opts.limit);
      }
    }

    query = query.return('entry');

    var result = db._query(query).toArray();

    if (cfg.opts.sort && cfg.opts.sort.toUpperCase() === 'DESC') {
      return result.reverse();
    }

    return result;
  },