I am trying to define methods for performing checks and updates to a listfield of embedded documents in mongoengine. What is the proper way of doing what I\'m trying to do. The
You need to find the index of the existing comment.
You can then overwrite the old comment with the new comment (where i is the index) eg:
post.comments[i] = new_comment
then just do a post.save()
and mongoengine will convert that to a $set
operation.
Alternatively, you could just write the $set
eg:
Post.objects(pk=post.pk).update(set__comments__i=comment)