繁体   English   中英

用Pymongo更新Mongo文档

[英]Update Mongo Document with Pymongo

我想通过pymongo(版本3.0.3)通过其ID更新现有的mongodb文档。 但是我的python代码没有任何更新。 有谁知道为什么..?

这是我要运行的mongodb脚本,在mongo客户端Robomongo上运行良好。

db.mycollection.update(
  { '_id': ObjectId("55d49338b9796c337c894df3") },
  { $set: { "details.model": "14Q22" } },
  upsert=false
  )

但是此python代码不起作用。

client = pymongo.MongoClient("1.1.1.1", 27017)
db = client.mydb

db.mycollection.update(
  { '_id': "55d49338b9796c337c894df3" },
  { '$set': { "details.model": "14Q22" } },
  upsert=False
  )

它返回

{u'n': 0, u'nModified': 0, u'ok': 1, 'updatedExisting': False}

是的,您必须指定一个ObjectId实例,如下所示:

from bson.objectid import ObjectId
db.mycollection.update({'_id': ObjectId("55d49338b9796c337c894df3")},  {'$set': {"details.model": "14Q22"}}) 
  • 还应注意,尽管mycollection.update ,但由于引入了新的CRUD操作而已被弃用,最好使用mycollection.update_onemycollection.find_one_and_update

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM