title: ExtJS Store.filterBy Fails where Store.filter Works
body: <p>Ive checked the docs and cant seem to wrap my head around why the store.filter() works until I add a function to it and also the filterBy() fails. </p>
  
  <p>I need the filter to check for 2 things from the record(s).
  I need to check:</p>
  
  <pre><code> if(deviceMsgId == 1 || messageType == 'TEXT_MESSAGE')
  </code></pre>
  
  <p><strong>Store</strong>:</p>
  
  <pre><code> var msgStore =  Ext.create('p7_ui_static.store.DeviceMessageStore', {
      id: 'messageLogStore',
      storeId: storeId,
      remoteFilter: false,
      autoLoad:false,
      ...
      ...
  });
  </code></pre>
  
  <p><strong>Model</strong>:</p>
  
  <pre><code>Ext.define('p7_ui_static.model.DeviceMessage', {
     extend: 'Ext.data.Model',
     ...
     ...
     fields: [
        {
          name: 'deviceMessageTypeId'
        },
        {
          name: 'messageType'
        },
        {
          ...
        }
     ]
  });
  </code></pre>
  
  <hr>
  
  <p><strong><em>THIS FILTER WORKS -></em></strong></p>
  
  <p><strong>filter( filters, [value] )</strong></p>
  
  <pre><code>    msgStore.clearFilter(true);
      msgStore.filter([
              { property: 'deviceMsgId', value : 1 }
      ]);
  </code></pre>
  
  <hr>
  
  <hr>
  
  <p><strong><em>BUT THIS FILTER FAILS -></em></strong></p>
  
  <p><strong>filterBy( fn, [scope] )</strong></p>
  
  <pre><code>msgStore.filterBy(function(record){
      return record.get('deviceMsgId' == 1)
  });
  </code></pre>