天天看點

mongodb一些使用技巧或注意事項記錄

1、有的時候需要删除指定字段那一列,使用update操作。例如要删除name這一列:

query  json:

update json:

2、資料導出,在mongodb的bin目錄執行mongoexport指令并設定相關的參數,例如:

-h:指定要連接配接的資料庫的ip;

--port:指定要連接配接的資料庫的端口;

-u:指定要連接配接的資料庫的使用者名;

-p:指定要連接配接的資料庫的使用者密碼;

-d:指定要連接配接的庫名;

-c:指定要導出的資料集合;

-o:指定要導出的資料目标存放位址;

注:(1)、需要保證連接配接的資料庫處于正常運作狀态中;

        (2)、我曾遇到過一中情況,資料庫中加入了使用者資訊,啟動時是沒有以使用者驗證的方式啟動,但是執行這個指令的時候,還是在我指定了使用者名和密碼的情況下才導出成功,如果有人遇到相似情況,不妨一試。

3、資料導入,在mongodb的bin目錄執行mongoimport指令并設定相關的參數,參數解釋和上邊一樣,例如:

4、非amdin資料庫的使用者驗證問題:

    我們給mongodb資料庫中的庫添加使用者,可以在目标資料庫中使用如下指令,例如在mongotest庫中添加一個擁有讀寫權限的使用者:  

    也可以在admin資料庫中添加:  

   要注意的是這兩種方式是有差別的,也正是這個差別曾坑了我一把:

  使用第一種方式添加的時候,我們可以在mongodb的bin目錄下直接執行如下指令進入test資料庫中操作,增删改查都可以;也可以使用這個使用者  名和密碼在mongovue中連接配接:

   但是如果是第二種方式建立的,那麼再直接使用上邊的指令,會提示驗證失敗,隻有當先進入mongo shell連接配接到admin資料庫,再切換到test資料庫的時候才能驗證通過。這算是一個小坑,不明情況的或許會非常糾結,明明使用者名和密碼沒問題,卻不知為什麼就是連不上。

5、mongodb3.0預設的資料存儲方式還是原來2.6一樣的,我嘗試過更改為新的存儲方式,在啟動時使用如下參數,但需要注意的是,需要在資料庫中沒有資料的前提下才可以,否則會報錯:

mongodb.conf中配置了啟動的其他各種參數,如dbpath、logpath等。