gpt4 book ai didi

python - MongoDB BSON 文件存储可以用 MongoEngine 实现吗?

转载 作者:行者123 更新时间:2023-12-01 04:52:54 25 4
gpt4 key购买 nike

我正在使用 MongoEngine 驱动程序来定义并连接到我的 MongoDB 实例,现在我想使用 BSON 字段来存储文件。当我使用 GridFS 存储文件时,我使用了 MongoEngine FileField像这样:

class UserFile(Document):
filename = StringField()
file_data = FileField()

我现在想将文件存储为 BSON,但我在 MongoEngine list of field types 中找不到任何“BsonField” 。有人知道如何使用 MongoEngine 驱动程序将文件存储为 BSON 吗?欢迎所有提示!

最佳答案

你的意思是:

class UserFile(Document):
filename = StringField()
file_data = BinaryField()

只要整个文档低于 16MB 限制,MongoDB 就会存储任何内容。它在 MongoDB 中相当于 SQL RDBMS 术语中的“blob”。

对于 mongoengine BinaryField将其表示为那种“原始”存储类型。因此,数据不是“编码”到 GridFS 集合,而是“嵌入”到文档中。文档的 16MB 限制同样适用,但 MongoDB 对此没有问题。 GridFS 实际上是一种存储超过 16MB 限制的数据的机制。仅此而已,只是将数据拆分为文档“ block ”的驱动程序代码。

不要期望“查询”BinaryField 的内容,这与 GridFS 存储的限制非常相似。

关于python - MongoDB BSON 文件存储可以用 MongoEngine 实现吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28065175/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com