gpt4 book ai didi

python - 使用 MongoEngine 动态文档将 None 保存到 MongoDB 中

转载 作者:行者123 更新时间:2023-12-03 16:00:08 27 4
gpt4 key购买 nike

我正在尝试将 MongoEngine 文档保存到动态文档中。示例代码如下:

class Small(mongoengine.Document):
var_1 = mongoengine.IntField(db_field="var_1")
var_2 = mongoengine.IntField(db_field="var_2")

class Main(mongoengine.DynamicDocument):
timeseries = mongoengine.ListField(mongoengine.EmbeddedDocumentField('Small'),
db_field="timeseries")

def sample_insert():
input = [(2, 4), (2, 6), (3, None), (4, None)]

to_insert = [Small(var_1=i[0], var_2=i[1]) for i in input]

self.timeseries = to_insert
self.save()

当要保存的一个或多个值是“无”时,我遇到的问题就会发生。在这种情况下,会生成以下错误:

mongoengine.errors.ValidationError: ValidationError (Data:55c0d57d1853bcad5c17b1f7) (var_1.Field is required)

我可以将 None 值设置为 0,但这不是一个好的解决方案,因为我无法再区分合法的 0 值和不存在的值。

我想做的是能够将这些 None 值作为“null”条目插入到 MongoDB 中。

这可能吗?

最佳答案

我运行你的代码没有问题。插入的文档如下所示:

"timeseries" : [{ "var_1" : 2, "var_2" : 4 }, { "var_1" : 2, "var_2" : 6 }, { "var_1" : 3 }, { "var_1" : 4 }]

在运行代码之前,我必须将 self 作为 sample_insert 函数的参数。

关于python - 使用 MongoEngine 动态文档将 None 保存到 MongoDB 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37712259/

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