2017-03-06 49 views
0

我想使用烧瓶和Mongoengine删除一个特定'_id'的嵌入文档。 文件有这样的结构:使用mongoengine和烧瓶删除嵌入的文档

class Main(db.Document): 
    title = db.StringField(max_length=156, required = True) 
    press = db.ListField(db.EmbeddedDocumentField(Press)) 

class Press(db.EmbeddedDocument): 
_id= db.StringField() 
date = db.DateTimeField(default = datetime.utcnow()) 
url = db.URLField() 
title = db.StringField() 
description = db.StringField() 
site_name = db.StringField() 
url_image = db.StringField() 
author = db.StringField() 

我尝试使用:

m. = Main.objects.get_or_404(slug= request.form['slug']) 
m.update_one(unset__press({'_id': request.form['_id']})) 

从HTML表单的Request.Form cotaind数据格式正确无误。

但没有工作! 任何建议? 谢谢。

回答

0

我认为您正在寻找$pull运营商。尝试:

m.update_one(pull__press___id=request.form['_id']) 
+0

已解决!我用那个:\t \t m.update(pull__press ___ id = request.form ['_ id']) – Mauro

0

解决! m.update(pull__press ___ id = request.form ['_ id'])