在我的MongoDB中,存在许多这样的文档:
{ "_id" : ObjectId("5341eaae6e59875a9c80fa68"),
"parent" : {
"tokeep" : 0,
"toremove" : 0
}
}
我想删除每一个中的
parent.toremove
属性。使用MongoDB shell,我可以使用以下方法完成此操作:
db.collection.update({},{$unset: {'parent.toremove':1}},false,true)
但是如何在Python中做到这一点?
app = Flask(__name__)
mongo = PyMongo(app)
mongo.db.collection.update({},{$unset: {'parent.toremove':1}},false,true)
返回以下错误:
File "myprogram.py", line 46
mongo.db.collection.update({},{$unset: {'parent.toremove':1}},false,true)
^
SyntaxError: invalid syntax
最佳答案
在$unset
周围加上引号,命名您要包含的参数(multi
),并使用正确的语法表示true:
mongo.db.collection.update({}, {'$unset': {'parent.toremove':1}}, multi=True)
关于python - 使用Python和PyMongo从所有MongoDB文档中删除属性,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22901788/