我有以下文件:
class Note(EmbeddedDocument):
value = mongo_db.StringField(max_length=200, required=True)
class Post(Document,):
notes = mongo_db.ListField(mongo_db.EmbeddedDocumentField(Note))
如何编写一个语句来更新value
对象列表内的Note
对象的Post
字段。换句话说,如何编写可以执行以下操作的内容:
update(post_id, note_id, new_valye)
您有2种方法,假设您要更新列表的第二项(即index = 1):
1)获取您的文档实例并使用.save()
post = Post.objects().first()
post.notes[1].value = 'new_value'
post.save()
2)如果您只需要更新文档的字段,并且知道它在数组中的位置,则可以使用:
Post.objects.update(set__notes__1__value='new_value')