function find(aSuccessCb, aFailureCb, aOptions) {
    debug("ContactDB:find val:" + aOptions.filterValue + " by: " + aOptions.filterBy + " op: " + aOptions.filterOp + "\n");

    let self = this;
    this.newTxn("readonly", function (txn, store) {
      if (aOptions && (aOptions.filterOp == "equals" || aOptions.filterOp == "contains")) {
        self._findWithIndex(txn, store, aOptions);
      } else {
        self._findAll(txn, store, aOptions);
      }
    }, aSuccessCb, aFailureCb);
  }
/**
   * @param successCb
   *        Callback function to invoke with result array.
   * @param failureCb [optional]
   *        Callback function to invoke when there was an error.
   * @param options [optional]
   *        Object specifying search options. Possible attributes:
   *        - filterBy
   *        - filterOp
   *        - filterValue
   *        - count
   */
@param successCb
Callback function to invoke with result array.
@param failureCb [optional]
Callback function to invoke when there was an error.
@param options [optional]
Object specifying search options. Possible attributes:
- filterBy
- filterOp
- filterValue
- count
@param successCb Callback function to invoke with result array . @param failureCb [ optional ] Callback function to invoke when there was an error . @param options [ optional ] Object specifying search options . Possible attributes : - filterBy - filterOp - filterValue - count
function find(aSuccessCb, aFailureCb, aOptions) {
    debug("ContactDB:find val:" + aOptions.filterValue + " by: " + aOptions.filterBy + " op: " + aOptions.filterOp + "\n");
    let self = this;
    this.newTxn("readonly", function (txn, store) {
      if (aOptions && (aOptions.filterOp == "equals" || aOptions.filterOp == "contains")) {
        self._findWithIndex(txn, store, aOptions);
      } else {
        self._findAll(txn, store, aOptions);
      }
    }, aSuccessCb, aFailureCb);
  }
function find ( aSuccessCb , aFailureCb , aOptions ) { debug ( "ContactDB:find val:" + aOptions . filterValue + " by: " + aOptions . filterBy + " op: " + aOptions . filterOp + "\n" ) ; let self = this ; this . newTxn ( "readonly" , function ( txn , store ) { if ( aOptions && ( aOptions . filterOp == "equals" || aOptions . filterOp == "contains" ) ) { self . _findWithIndex ( txn , store , aOptions ) ; } else { self . _findAll ( txn , store , aOptions ) ; } } , aSuccessCb , aFailureCb ) ; }
@param successCb
        Callback function to invoke with result array.
@param successCb Callback function to invoke with result array .