【发布时间】:2016-10-09 07:08:49
【问题描述】:
我正在尝试将 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。
这可能吗?
【问题讨论】:
标签: python mongodb pymongo mongoengine