code: function byExample() {
    var args = mlutil.asArray.apply(null, arguments);
    switch(args.length) {
    case 0:
      return {$query: []};
    case 1:
      var query = args[0];
      if (query.$query == null) {
        return {$query: query};
      }
      return query;
    default:
      return {$query: args};
    }
  }
docs: A query definition returned by the {@link queryBuilder#byExample} function
  to pass to a {@link queryBuilder#where} function.
  @typedef {object} queryBuilder.QueryByExample
  @since 1.0
   
  Builds a query by example from one or more objects that annotate instances
  of properties to match. To match JSON documents, pass in a JavaScript object
  with the property values known to exists in the documents.  To match XML
  documents, pass in a QBE expressed as an XML string. For unnamespaced XML
  documents, you can also pass a JavaScript object with a $query property
  that has the query and a $format property of 'xml'.
  @method
  @since 1.0
  @memberof queryBuilder#
  @param {object} ...query - one or more objects with example properties
  @returns {queryBuilder.QueryByExample} a query
  for the {@link queryBuilder#where} function