Применить патч json к документу Mongoengine - PullRequest
0 голосов
/ 23 ноября 2018

Я пытаюсь применить json-patch к документу Mongoengine.

Я использую следующую библиотеку json-patch: https://github.com/stefankoegl/python-json-patch и mongoengine 0.14.3 с python 3.6.3

Это мой настоящий код:

json_patch = JsonPatch.from_string(jp_string)
document = Document.objects(id=document_id)
json_documents = json.loads(document.as_pymongo().to_json())
json_patched_document = json_patch.apply(json_documents[0])
Document.objects(id=document_id).first().delete()
Document
    .from_json(json.dumps(json_patched_document))
    .save(force_insert=True)

Есть ли лучший способ сохранить отредактированный документ JSON?

Я немного улучшил код:

json_patch = JsonPatch.from_string(jp_string)
document = Document.objects(id=document_id)
json_document = json.loads(document.as_pymongo().to_json())
json_patched_document = json_patch.apply(json_documents[0])
Document
    .from_json(json.dumps(json_patched_document), created=True)
    .save()

но есть ли способ не конвертировать документ в json?

...