Isa*_*hoo 5 mongodb jsonpath flask python-3.x http-patch
我想使用Python Flask框架实现HTTP PATCH。作为输入,我将收到如下 JSON 补丁:
[
{ "op": "replace", "path": "/work/title", "value": "Senior Engineer" }
]
Run Code Online (Sandbox Code Playgroud)
我的数据库是 MongoDB,我想将上述补丁直接应用到 Mongo。例如,下面是 Mongo 中存储的文档:
{
"name":"ABC",
"age":25,
"work":{
"title":"Engineer",
"company":"XYZ"
}
}
Run Code Online (Sandbox Code Playgroud)
应用补丁后,它应该是:
{
"name":"ABC",
"age":25,
"work":{
"title":"Senior Engineer",
"company":"XYZ"
}
}
Run Code Online (Sandbox Code Playgroud)
您能帮我找到一种实施方法吗?
根据我的研究,我发现了一个Python模块python-json-patch,它有助于将 json 应用到 json 对象的补丁中。因此,我们需要从 MongoDB 获取 json/document 并使用上述模块应用补丁。然后将文档替换回 MongoDB 中。所以,基本上这会以 PUT 而不是 PATCH 的形式结束。
另一种方法是我认为有一个模块来解析 json 补丁并构建 json 并使用$set将更新应用到 MongoDB将更新应用到 MongoDB 。但这种方法很幼稚而且效率不高。
因此,请建议一种使用 json patch 并直接应用于 MongoDB 文档来实现 HTTP PATCH 的好方法。
| 归档时间: |
|
| 查看次数: |
2228 次 |
| 最近记录: |