我需要将文件上传到 MongoDB。目前我正在使用 Flask 将文件保存在当前文件系统的文件夹中。有没有一种方法可以在不使用 GridFS 的情况下将文件上传到 MongoDB?我相信我很久以前就做过这样的事情,但自从我上次使用 MongoDB 以来已经很长时间了,我不记得了。
我选择上传的任何文件的大小都不超过 16MB。
更新:我试过用这个来转换图像文件,binData但它抛出错误global name binData is not defined。
import pymongo
import base64
import bson
# establish a connection to the database
connection = pymongo.MongoClient()
#get a handle to the test database
db = connection.test
file_meta = db.file_meta
file_used = "Headshot.jpg"
def main():
coll = db.sample
with open(file_used, "r") as fin:
f = fin.read()
encoded = binData(f)
coll.insert({"filename": file_used, "file": f, "description": "test" })
Run Code Online (Sandbox Code Playgroud)