2013-01-05 4 views
2

J'ai un mongoengine de classeMise à jour d'un des documents intégrés dans mongoengine

class Post(EmbeddedDocument): 
     uid = StringField(required=True) 
     text = StringField(required=True) 
     value = StringField() 

class Feed(Document): 
     label = StringField(required=True) 
     feed_url = StringField(required=True) 
     posts = ListField(EmbeddedDocumentField(Post)) 

Je cherche la mise à jour d'un élément dans l'alimentation (messages) La première: je reçois un objet RSS

model = Feed.objects(_id="....").first() 

Continuer I Voulez mettre à jour Post dans le modèle ont text = "title".

Comment puis-je le faire avec mongoengine? Merci

Répondre

2

Je résolus it :)

Feed.objects(_id="...", posts__text="findvalue").update(set__posts__S__value="updatevalue") 
0

Si je comprends la question, je pense que quelque chose comme cela fonctionnera:

model = Feed.objects(_id="....").first() 
for post in model.posts: 
    if post.text == "title": 
     post.value = "placeholder for real update" 
model.save() 
Questions connexes