'Flush `data` to a chunk.'

def __flush_data(self, data):

    self.__ensure_indexes()
    self._file['md5'].update(data)
    if (not data):
        return
    assert (len(data) <= self.chunk_size)
    chunk = {'files_id': self._file['_id'], 'n': self._chunk_number, 'data': Binary(data)}
    try:
        self._chunks.insert_one(chunk)
    except DuplicateKeyError:
        self._raise_file_exists(self._file['_id'])
    self._chunk_number += 1
    self._position += len(data)
