Estoy intentando definir métodos para realizar comprobaciones y actualizaciones en un campo de lista de documentos incrustados en mongoengine. ¿Cuál es la forma correcta de hacer lo que estoy tratando de hacer? El código está abajo.¿Cuál es la forma correcta de actualizar un campo de lista de documentos incrustados en 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?
¿Es esta la forma correcta de hacer algo como esto?
nota de actualización toma argumentos de palabras clave de modo comentario debe ser un diccionario de valor clave pares que desempaqueta 'existing.update (** comment)' –