作者:淘气小顽童刘 | 来源:互联网 | 2023-05-16 16:49
需要更新或插入时有一个常见的用例.例如:
obj = db['data'].find_and_modify(
{
'Name': data['Name'],
'SourcePage': data['SourcePage'],
},
data,
upsert=True
)
当然可以将此请求拆分为GET
然后PATCH
或者INSERT
可能还有更好的方法吗?
PS eve提供了一些很好的功能,如文档版本和元数据(_created,_updated等)
1> Mandar Vaze..:
upsert
支持现在是即将发布的版本的一部分.
一个人不必做任何不同的事情.默认情况下,该功能处于"开启"状态.因此,如果用户尝试PUT
不存在的项目,则将创建新项目.id
有效负载中发送的字段将被忽略.
如果用户不想要此功能,则用户需要明确设置UPSERT_ON_PUT
为False
.现在,用户恢复了"旧"行为.即,当用户尝试PUT
不存在的项时,404
返回.