如何 select mongodb 中的所有文档并删除字段
How to select all documents in a mongodb AND remove a field
假设我在 Mongoengine 中定义了一个文档:
class User(document):
username = StringField()
password = StringField()
login_history = ListField()
我已经用 "schema" 创建了几个用户,现在我想删除 login_history 字段并将其更新到所有已创建的用户。如何在mongoshell中做到这一点?如果可能的话,如何使用 MongoEngine 做到这一点?
谢谢大家!
只是 $unset
字段而不指定匹配条件。所以对于 Mongo Shell,它将是:
> db.user.update({}, {$unset: {login_history: true}}, {multi: true})
这里要注意的关键部分是 {multi: true}
选项,如果没有它,您最终只会更新一个文档。
更新
对于 Mongo引擎,您有与关键字参数相同的多选项,请参阅 documentation。
假设我在 Mongoengine 中定义了一个文档:
class User(document):
username = StringField()
password = StringField()
login_history = ListField()
我已经用 "schema" 创建了几个用户,现在我想删除 login_history 字段并将其更新到所有已创建的用户。如何在mongoshell中做到这一点?如果可能的话,如何使用 MongoEngine 做到这一点?
谢谢大家!
只是 $unset
字段而不指定匹配条件。所以对于 Mongo Shell,它将是:
> db.user.update({}, {$unset: {login_history: true}}, {multi: true})
这里要注意的关键部分是 {multi: true}
选项,如果没有它,您最终只会更新一个文档。
更新
对于 Mongo引擎,您有与关键字参数相同的多选项,请参阅 documentation。