使用pymongo 批量重命名 mongodb的collection

应用背景:

工作中有一项内容就是重命名collection的, 涉及到几十个db, 一个一个去改, 也OK,但我觉得那是个体力活, 不应该是程序员解决问题的方法

解决过程:

通过查询,发现网上很多宝宝推荐使用 renameCollection() 方法来解决问题, 这个方法,在Robo 3T里可以使用, 但达不到我想要的结果, 我需要的是批量, 把这个方法放到python里, 报错:

TypeError: ‘Collection’ object is not callable. If you meant to call the ‘renameCollection’ method on a ‘Collection’ object it is failing because no such method exists.

度娘了N多网站, 发现都是在推荐renamecollection()方法, 怎么办??

那个谁说过, 工作现场有神灵, 去看看pymongo文档吧,
在文档里发现,rename()方法,完美解决问题.

使用方法如下:

mongourl = 'mongodb://user:password@host:port/admin?replicaSet=mgset-1100081&socketTimeoutMS=10000'
dbstr = 'test'
client = pymongo.MongoClient(mongourl)
db = client[dbstr]
db.oldname.rename('newname')

–the end–

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值