code: function andNot() {
    var args = mlutil.asArray.apply(null, arguments);
    switch(args.length) {
    case 0:
      throw new Error('missing positive and negative queries');
    case 1:
      throw new Error('has positive but missing negative query: '+mlutil.identify(args[0], true));
    case 2:
      return new AndNotDef(new PositiveNegativeDef(args[0], args[1]));
    default:
      throw new Error('more than two arguments for andNot(): '+args.length);
    }
  }
docs: Builds a query with positive and negative subqueries.
  @method
  @since 1.0
  @memberof queryBuilder#
  @param {queryBuilder.Query} positiveQuery - a query that must match
  the result documents
  @param {queryBuilder.Query} negativeQuery - a query that must not match
  the result documents
  @returns {queryBuilder.Query} a composable query