【发布时间】:2020-10-12 07:58:00
【问题描述】:
这是我的数据结构:
{
house_id : 1,
houseType : "condo" ,
family: [
{'name': "pete", "gender": "male", etc},
{'name': "jon", "gender": "male", etc}
]
}
如何从 EmbeddedDocumentListField 中删除“pete”?
db = MongoEngine()
db.init_app(app)
class Family(db.EmbeddedDocument):
name = db.StringField()
gender = db.StringField()
class House(db.Document):
house_id = db.IntField(required=True, unique=True)
housingType = db.StringField(required=True)
family = db.EmbeddedDocumentListField(Family)
@app.route('/api/del_member/<h_id>/<fam_name>', methods=['DELETE'])
def del_member(h_id, fam_name):
try:
h = House.objects.get(house_id=h_id)
t = h.family.get(name=fam_name)
return make_response(jsonify(t), 200)
except Exception:
return make_response(f'Something went wrong trying to delete '
f'Member: {fam_name} in House ID: {h_id}', 500)
我可以选择我感兴趣的项目,但我不能删除它。我试过 .delete() 但出现错误提示
t = h.family.get(name=fam_name).delete()
AttributeError: 'Family' 对象没有属性 'delete'
弹出。
【问题讨论】:
标签: python-3.x mongodb rest mongoengine flask-mongoengine