从mongodb2.6升级到3.0中遇到的一些问题

3.0有双引擎,添加了WiredTiger 引擎,提供了document级的锁,以前的版本只支持collection级别的锁,锁粒度小了。3.0听说对硬盘的需求也小了不少。mongodb简 直就是硬盘怪兽啊。官方上有2.6升3.0的文档,地址:http://docs.mongodb.org/v3.0/release-notes /3.0-upgrade/ 

升 级完后。发现了点蛋疼的问题。首先是怎么把引擎切换到wiredTiger。以前的配置文件用key = value的样式,而3.0是可以支持yaml方式的。使用wiredTiger可以在启动时加上命令行参数:--storageEngine wiredTiger。或者在配置文件中设置:

storage:
    engine: wiredTiger


数据库切换完成后,发现数据没了,还好vps上有相同结构的数据库。。原来最好是备份一下。那也方便。用mongodump 做备份,再用

mongorestore 做还原。

看了下面这面这MongoDB兼容表,我把pymongo 2.7删除了,安装了2.8(用easy_install安装的,在pypi上好像没3.0版的,我只找到2.8)。。但是安装后发生了好多事。

安 装后,出现了个ImportError: No module named py3compat异常。后来研究了一下才发现,需要 把bson先删除,因为pymongo已经带了bson了。但是用pip没删干净。后来我import bson,根据bson.__file__显示的路径把bson删除。后来才好了。。。

后来发现 motor又出错了。原来也需要升级了,motor表如下


后来又类似的出现了gridfs的一个类无法加载,处理方法类似上面的。

到这里终于完成了整个的升级过程。


转载于:https://my.oschina.net/tuxpy/blog/383502

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值