code: def _cursor(self, offset=0, limit=0, fields=None, sort=None, **kwargs):
          projection = {'_id': False}
          if fields:
              projection.update({field: True for field in fields})
          results = self._collection.find(kwargs, projection)
          if sort:
              sort_pairs = sort[:]
              for index, field in enumerate(sort):
                  if field[0] == "-":
                      sort_pairs[index] = (field[1:], pymongo.DESCENDING)
                  else:
                      sort_pairs[index] = (field, pymongo.ASCENDING)
              results.sort(sort_pairs)
          results.skip(offset or 0).limit(limit or 0)
          return results