Mongodb在使用过程中有什么问题
mongodb在使用過程中有什么問題
| 關于連接方面 1.?mongodb目標計算機積極拒絕無法連接 ??此問題很多情況下是出現在window安裝?Mongo時,出現的主要原因是配置沒配好: ??1.?要把Mongo.exe添加系統環境中 ??2. 在Mongo.exe的目錄創建data/db目錄來存放mongo的數據 ??3. 在Mongo.exe的目錄創建log文件來存放mongo的日志。 ??這三個缺一不可,一定要注意路徑!! ? 2. 出現mongo.js的錯誤,如下: ? 解決方法: 刪除data\db\文件下面的mongo.lock文件? 重啟服務 OK ? 使用方面 ?1.??bson size不能超過16MB的限制。單個文檔的BSON size不能超過16MB。find查詢有時會遇到16MB的限制,譬如使用$in 查詢的時候,in中的數組元素不能太多 ?2. Mongo對于時間的存儲使用的MongoDate時間是UTC的,要使用日期格式來存儲。 ? 3. 使用count()統計數量錯誤。?需要使用aggregate pipeline來得到正確統計結果 ? 4. 從shell中更新/寫入到文檔的數字,會變為float類型 ? 5. DB中的namespace數量太多導致無法創建新的collection, ???錯誤提示:error: hashtable namespace index max chain reached:1335,如何解決呢? ??修改nssize參數并重啟Mongodb,這新nssize只會對新加入的DB生效,對以前已經存在的DB不生效,如果你想對已經存在的DB采用新的nssize,必須在加大nssize重啟之后新建DB,然后把舊DB的collection 復制到新DB中。 ? 6. moveChunk因舊數據未刪除而失敗. ????錯誤日志:”moveChunk failed to engage TO-shard in the data transfer: can't accept new chunks because there are still 1 deletes from previous migration“。 意思是說,當前正要去接受新chunk 的shard正在刪除上一次數據遷移出的數據,不能接受新Chunk,于是本次遷移失敗。這種log里顯示的是warning,但有時候會發現shard的刪除持續了十幾天都沒完成,查看日志,可以發現同一個chunk的刪除在不斷重復執行,重啟所有無法接受新chunk的shard可以解決這個問題 解決辦法: 重啟Mongodb ? 7. mongo對數據分頁慢。 ???這是因為Mongo是吧分頁的數據加載到內存中,由于內存限制,會越來越慢,如何解決? ???分頁時不要使用SKIP來實現。應該使用查詢條件+排序+限制返回記錄的方法,即邊查詢,邊排序,排序之后,抽取上一頁中的最后一條記錄,作為當前分頁的查詢條件,從而避免了skip效率低下的問題。 ? ? |
轉載于:https://www.cnblogs.com/pythonlyz/p/10326253.html
總結
以上是生活随笔為你收集整理的Mongodb在使用过程中有什么问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Go嵌套并发实现EDM,附坑点分析#1
- 下一篇: JSBridge的思考