code: def download_to_stream_by_name(self, filename, destination, revision=-1,
                                     session=None):
          
          with self.open_download_stream_by_name(
                  filename, revision, session=session) as gout:
              for chunk in gout:
                  destination.write(chunk)
docs: Write the contents of `filename` (with optional `revision`) to
          `destination`.
  
          For example::
  
            my_db = MongoClient().test
            fs = GridFSBucket(my_db)
            # Get file to write to
            file = open('myfile','wb')
            fs.download_to_stream_by_name("test_file", file)
  
          Raises :exc:`~gridfs.errors.NoFile` if no such version of
          that file exists.
  
          Raises :exc:`~ValueError` if `filename` is not a string.
  
          :Parameters:
            - `filename`: The name of the file to read from.
            - `destination`: A file-like object that implements :meth:`write`.
            - `revision` (optional): Which revision (documents with the same
              filename and different uploadDate) of the file to retrieve.
              Defaults to -1 (the most recent revision).
            - `session` (optional): a
              :class:`~pymongo.client_session.ClientSession`
  
          :Note: Revision numbers are defined as follows:
  
            - 0 = the original stored file
            - 1 = the first revision
            - 2 = the second revision
            - etc...
            - -2 = the second most recent revision
            - -1 = the most recent revision
  
          .. versionchanged:: 3.6
             Added ``session`` parameter.