Сначала я отредактировал Мой Post
документ, чтобы получить преимущества EmbeddedDocumentListField
:
class Note(EmbeddedDocument):
value = mongo_db.StringField(max_length=200, required=True)
id = mongo_db.UUIDField(required=True, primary_key=True)
class Post(Document,):
notes = mongo_db.EmbeddedDocumentListField(Note, required=False)
Затем используется для обновления:
Post.objects(
id=post_id,
notes__id=note_id
).update(
set__notes__S__value=my_value
)
И для удаления:
Post.objects(id=post_id).update_one(
pull__notes__id=note_id
)
Но я думаю, с этим подходом есть проблемы, первое обновление сейчас сложно написать, если вы обновляете много полей.