<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def get(self, file_id: Union[str, bson.ObjectId]) -> [typing.BinaryIO, str, datetime.datetime]: """ Return the file identified by a file_id string. The return value is a file-like object which also has the following attributes: filename: str upload_date: datetime """

        if isinstance(file_id, str):
            file_id = bson.ObjectId(file_id)
        file = self._fs.get(file_id)
        return file, file.filename, file.upload_date