背景:
项目需要Django集成MongonDB,集成方法参见下文
连接数据库的时候报错
mongoengine.connection.ConnectionError:
Cannot cFalse is not a read preference.
确认连接名和数据库名没有出错。问题就可能出在版本不兼容上。
在安装mongoengine==0.9.0的时候,pip命令会自动安装pymongo当前最新版本,而mongoengine的0.9.0版本是老版本,最新版应该到0.17.x,不出问题才怪。
卸载当前pymongo,重现安装2.8版本(3.x以下的应该都可以)
pip uninstall pymongo
pip install pymongo==2.8
再次连接,问题解决。
(ps:还是出错你就得看看你的Model是不是和数据库中的表明、字段名一一对应)
参考如下博文: