code: def query(self, query):
      '''Returns a sequence of objects matching criteria expressed in `query`'''
      cursor = Cursor(query, self.shard_query_generator(query))
      cursor.apply_order()  # ordering sharded queries is expensive (no generator)
      return cursof query(self, query):
      '''Returns a sequence of objects matching criteria expressed in `query`'''
      cursor = Cursor(query, self.shard_query_generator(query))
      cursor.apply_order()  # ordering sharded queries is expensive (no generator)
      return cursor
docs: Returns a sequence of objects matching criteria expressed in `query`