MongoDB使用過程當中的一些問題

        一、MongoDB配置修改不生效的問題:今天由於某個緣由,須要修改mongodb的配置文件。 改完之後,在init.d裏面restart命令重啓server,後來stop又start重啓server。修改都不能生效,後來stop之後看了一下進程,發現mongodb依然活着,原來相關命令根本不生效。不過它提供了force動做命令,我懶得用命令了,直接shutdown -r,配置修改生效。環境:ubuntu14.04mysql

        二、MongoEngine的鏈接參數問題,正確的寫法應該是:sql

connect(username="username", password="password", host="mongodb://username:password@123.57.59.76:27017/resultdb")  

若是你只在函數參數中寫用戶名密碼,在host字符串中不寫,可能致使查詢因權限問題失敗的提示:not authorized for query on  db.collecitonname 的錯誤。mongodb

       三、Django中使用MongoDB,剛開始用mongodb-engine,後來發現它有個缺憾,使用它的話,Django自己都得使用該工具官方改造過的版本。後來改用mongoengine這個ORM解決方案,不過這個ORM當前狀態,還不能徹底做爲Django生產環境的Backend使用。數據庫

      四、在pyspider中用這個作後臺數據庫使用,原本是想發揮其JSON威力,想不到pyspider在後臺存儲結果直接就是JSON字符串,說白了成了數據庫的string字段,沒有起到預想的做用。ubuntu

      五、第三條的mongoengine也有個糾結的問題,若是數據庫JSON對象裏面有個某個鍵值字段,而ORM Document裏面沒有定義這個字段,讀數據的時候會報錯,這一點和RDB的ORM區別很大。nosql

      六、使用mongodb這種nosql數據庫就像使用SQL關係數據庫同樣,使用關係數據庫,使用什麼API,本身都得懂SQL,使用Mongodb也同樣,使用什麼庫操做它,本身都得對其操做指令比較熟悉。ide

相關文章
相關標籤/搜索