使用PyMongo将文件流式传输到MongoDB

使用PyMongo将文件流式传输到MongoDB,mongodb,tornado,pymongo,gridfs,Mongodb,Tornado,Pymongo,Gridfs,我正试图使用PyMongo和我在Tornado中编写的API将一个大文件上传到GridFS中。由于文件大小为4.1GB,Tornado抛出的内容长度太长 此场景适用于NodeJ,但我不确定PyMongo是否支持文件流。PyMongo支持将输入文件流式传输到GridFS,但Tornado不支持。看见虽然最初的问题报告是旧的,但龙卷风邮件列表上的传言表明,这将在接下来的几个小版本中得到修复。(目前为Tornado 3.2。)当Tornado看到内容长度超过100MB时,会引发您观察到的异常 一个想法

我正试图使用PyMongo和我在Tornado中编写的API将一个大文件上传到GridFS中。由于文件大小为4.1GB,Tornado抛出的
内容长度太长


此场景适用于NodeJ,但我不确定PyMongo是否支持文件流。

PyMongo支持将输入文件流式传输到GridFS,但Tornado不支持。看见虽然最初的问题报告是旧的,但龙卷风邮件列表上的传言表明,这将在接下来的几个小版本中得到修复。(目前为Tornado 3.2。)当Tornado看到内容长度超过100MB时,会引发您观察到的异常


一个想法是使用Nginx前置您的应用程序,并使用它将用户的上传流式传输到临时文件中。Nginx将在上传文件时通知您的应用程序,然后您可以将临时文件流式传输到GridFS中。避免在执行此操作时阻塞Tornado进程,方法是使用PyMongo生成子进程将文件复制到GridFS中,或者使用。

目前Tornado实现中似乎存在问题。有一个要点,你可以比较作为一个初学者,让上传部分工作后,你有,然后你在文章中的代码将是最有帮助的。我也找到了应该帮助我的电机。