首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用Pymongo更新Mongo文档

使用Pymongo更新Mongo文档
EN

Stack Overflow用户
提问于 2015-08-24 23:48:53
回答 1查看 10.8K关注 0票数 4

我想用pymongo(3.0.3版)根据文档的ID更新现有的mongodb文档。但是,我的python代码没有任何更新。有人知道为什么吗..?

下面是我想要运行的mongodb脚本,它在mongo客户端Robomongo上运行得很好。

代码语言:javascript
运行
复制
db.mycollection.update(
  { '_id': ObjectId("55d49338b9796c337c894df3") },
  { $set: { "details.model": "14Q22" } },
  upsert=false
  )

但是,这段python代码不起作用。

代码语言:javascript
运行
复制
client = pymongo.MongoClient("1.1.1.1", 27017)
db = client.mydb

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

它返回

代码语言:javascript
运行
复制
{u'n': 0, u'nModified': 0, u'ok': 1, 'updatedExisting': False}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-08-25 00:35:17

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

代码语言:javascript
运行
复制
from bson.objectid import ObjectId
db.mycollection.update({'_id': ObjectId("55d49338b9796c337c894df3")},  {'$set': {"details.model": "14Q22"}}) 

  • 还注意到,尽管mycollection.update可以工作,但由于引入了新的CRUD操作而被弃用,因此最好使用mycollection.update_one或CRUD
票数 14
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32186503

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档