在我的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/

10-09 18:14
查看更多