anchor.diff:      }
     }
   
  +  void _ensureParamFields() {
  +    if (paramFields == null) {
  +      paramFields = {};
  +    }
  +  }
  +
  +  void _ensureOrderBy() {
  +    _query;
  +    if (!map.containsKey("orderby")){
  +      map["orderby"] = new LinkedHashMap();
  +    }
  +  }
  +
     SelectorBuilder eq(String fieldName,value){
       _addExpression(fieldName,value);
       return this;
  
positive.code:     map["orderby"][fieldName] = order;
      return this;
    }
    SelectorBuilder hint(String fieldName, {bool descending: false}){
      _query;
      if (!map.containsKey("\$hint")){
  
negative.code:     return this;
    }
  
    SelectorBuilder metaTextScore(String fieldName) {
      _ensureParamFields();
      paramFields[fieldName] = {'\$meta' : "textScore"};
    }
  
    SelectorBuilder fields(List<String> fields) {
      _ensureParamFields();
      for (var field in fields) {
        paramFields[field] = 1;
      }
      return this;
    }
  
    SelectorBuilder excludeFields(List<String> fields) {
      _ensureParamFields();
      for (var field in fields) {
        paramFields[field] = 0;
      }
  