背景:
項目需要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是不是和數據庫中的表明、字段名一一對應)
參考如下博文: