mongoengineの埋め込みドキュメントのリストフィールドに対するチェックと更新を行うメソッドを定義しようとしています。私がやろうとしていることをする正しい方法は何か。コードは以下の通りです。mongoengineの埋め込み文書のリストフィールドを更新する適切な方法は何ですか?
class Comment(EmbeddedDocument):
created = DateTimeField()
text = StringField()
class Post(Document):
comments = ListField(EmbeddedDocumentField(Comment))
def check_comment(self, comment):
for existing_comment in self.comments:
if comment.created == existing_comment.created and
comment.text == existing_comment.text:
return True
return False
def add_or_replace_comment(self, comment):
for existing_comment in self.comments:
if comment.created == existing_comment.created:
# how do I replace?
# how do I add?
このようなことは正しいですか?
ノートのアップデートは、キーワード引数を取ります(コードがテストされていません)あなたが 'existing.update(** comment)'をアンパックするペア –