如何选择mongodb中的所有文档并删除字段

时间:2015-05-12 14:07:49

标签: mongodb mongoengine

假设我在Mongoengine中定义了一个文档:

class User(document):
  username = StringField()
  password = StringField()
  login_history = ListField()

我已经使用此" schema"创建了几个用户,现在我想删除login_history字段并将其更新为已创建的所有用户。如何在mongo shell中做到这一点?如果可能的话,如何使用MongoEngine做到这一点?

谢谢你们!

1 个答案:

答案 0 :(得分:2)

只需$unset字段而不指定匹配条件。所以对于Mongo Shell来说,它将是:

> db.user.update({}, {$unset: {login_history: true}}, {multi: true})

此处需要注意的关键部分是{multi: true}选项,如果没有这个选项,您最终会更新单个文档。

<强>更新

对于Mongoengine,您拥有与关键字参数相同的多选项,请参阅documentation