清除Mongoengine中的列表

时间:2013-01-14 02:39:22

标签: python mongodb mongoengine

使用此架构:

class XSet(db.Document):
    xs = db.ListField(db.EmbeddedDocument('X'))
#   ...

class X(db.Document):
    pass

然后:

 xset = XSet.objects(id="uniqueid").get()
 xs = xset.xs

如何删除X中存储的所有xs个实例? (如果可能的话,我非常想留在Mongoengine抽象中。)

2 个答案:

答案 0 :(得分:0)

您可以使用$pullall运算符,例如:

XSet.objects(pk=1).update(pull_all__xs=X)

答案 1 :(得分:0)

我不确定效率,但这有效:

for x in xs:
  del x