在从有效负载应用修改后,我想在将文档上传到数据库之前对其进行验证。两者都.update()
将.modify()
修改后的文档上传到数据库,所以我不能这样做.modify()
,.validate()
因为无论如何都会上传文档。
我怎么能做这些事情:
- 强制验证
.update()
- 调用
update()
/modify()
不上传到数据库 - 在不上传的情况下修改我的文档(使用 中允许的方便语法
.update()
)
这些东西之一(或类似的东西)是否存在?
# Option 1
document.update(validate=True, **payload)
# Option 2
document.modify(upload=False, **payload) # or .upload()
document.validate()
document.save()
payload
可以是常规数据或 mongoengine 中允许的“Django 样式更新关键字参数” 。
这接近我想要做的,但我不想从头开始重新创建文档。
到目前为止,我唯一的解决方案是肮脏的:调用modify()
,验证更新的文档,如果验证失败则重新上传旧文档。