docs: function _count(self, usingSkipAndLimit, callback) {
      if (typeof callback !== 'function') throw new Error("callback is not a function!")
      var query = { count: self.collection.name }
      if (self.criteria) {
          query.query = self.criteria
      }
      if (usingSkipAndLimit) {
          query.skip = self._skip || 0
          query.limit = self._limit
      }
      self.db.runCommand(query, safetyNet(callback, function(result) {
          callback(null, result.n)
      }))
  }