Sto cercando di definire i metodi per eseguire controlli e aggiornamenti in un elenco di documenti incorporati in mongoengine. Qual è il modo corretto di fare ciò che sto cercando di fare. Il codice è sottoQual è il modo corretto di aggiornare un elenco di documenti incorporati in 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?
È questo anche il modo corretto di andare su qualcosa di simile?
aggiornamento nota prende argomenti chiave in modo commento deve essere un dizionario di valore chiave coppie che si scompattano 'existing.update (** comment)' –