MongoDB一些基本的命令

2021-09-25 14:29:27 字數 2613 閱讀 5577

win+r進入dos命令視窗,輸入cmd,進入mongodb exe檔案的所在目錄,比如我的在e:\mongodb\bin,分別執行:「e:」回車,然後:"cd mongodb/bin" 回車

輸入「mongo」,開始運算元據庫,我這裡用的是2.6.7版本

說明:命令是區分大小寫

show dbs 顯示已有的資料庫

use 資料庫名 跟mssql一樣,使用這個資料庫

show collections  顯示所有的聚集集合(相當於關係型資料庫中的表)

db.dropdatabase() 刪除當前使用的資料庫

db 檢視當前使用的資料庫名字(或者:db.getname())

db.stats() 檢視當前資料庫的一些資訊

db.repairdatabase()  修復資料庫

version() 檢視mongodb版本

db.getmongo() 檢視當前db連線位址

db.getpreverror() 查詢之前的錯誤訊息

db.reseterror()  清除錯誤訊息

db.createuser(]}

)

上面的**,表示建立使用者,執行前先use你要使用的資料庫,建立的使用者只屬於這個資料庫,不是全域性使用者,不信切到其他資料庫,然後show users下

roles是角色型別,可以show roles 檢視所有的角色,db不清楚什麼,沒查到相關文件,預設就當前資料庫名吧

db.adduser()

不推薦使用

db.changeuserpassword("root", "123456")  修改使用者密碼,第乙個引數是要修改的使用者名稱,第二個是新密碼

db.dropuser("sa")  刪除當前資料庫下的乙個使用者

db.dropallusers()  刪除當前資料庫下的所有使用者

db.getuser("test") 獲取當前資料庫下乙個使用者的資訊

db.getusers()  獲取當前資料庫下的所有使用者,同等:show users

也可以稱之為表的操作

不需要手動的來建立表,直接db.集合名稱.insert(儲存的json資料) 就是既建立集合(集合不存在的前提下),又插入資料

db.集合名稱.drop()  刪除集合

db.getcollection("集合名稱")  獲取某乙個集合的資訊,也可以使用 show tables 顯示所有的集合

db.getcollectionnames()  獲取當前資料庫下所有的集合

db.printcollectionstats()  獲取當前資料庫下所有的集合的狀態

插入

db.集合名稱.insert(),注意,插入的json陣列只能有一條,也就是"{}",當然 ,裡面是可以包含子資料的,但是只能有一組這樣的資料,否則最終插入的資料,只有第一條,如果插入的json為:,,那麼最終入庫的只有name=test的資料

使用迴圈插入測試資料:for(i=0;i<100;i++)db.集合名稱.insert(),就好像程式中的寫法,還可以拼接字串,屌炸天

更新:

db.集合名稱.update(,})

更新的第乙個引數:表示更新的條件,第二個為更新的值,如果不適用$set,則更新的x=1的結果中只有y欄位,其他欄位會被乾掉,$set 操作符為部分更新操作符

使用set之後內容中置頂的字段會被更新,不存在的字段則會保持原樣

使用上面的更新命令是只能更新查詢到的第一條資料,無法全部更新,這也是為了防止誤操作,如果需要全部更新,則需要多傳入兩個引數,如下:

db.集合名稱.update(,},false,true) 注意,這種寫法,更新的值必須使用 $set 操作符,否則會報「multi update only workds woith $ operators」 這樣的錯誤

db.集合名稱.update(,,true)  後面只跟乙個true引數,表示如果查詢的資料不存在,則為我插入這條資料

刪除:

db.集合名稱.remove()  這裡與更新不同的是,刪除會刪除掉所有查詢的資料

查詢:

db.集合名稱.find()  查詢所有的資料

db.集合名稱.find().skip(10)   查詢所有的資料,跳過前10條資料

db.集合名稱.find().limit(10) 查詢所有的資料,取前10條資料

db.集合名稱.find().sort()1表示正序,-1表示反序  排序

以上三個可組合查詢用於排序

db.集合名稱.getindexes()  獲取當前集合已有的索引

db.集合名稱.ensureindex()  建立索引,1為正向排序,x=-1為逆向索引,我加了一億條測試資料,索引建起來可真漫長,所以還是在結構設計之初就建好索引吧,索引在這裡對查詢的速度提公升真是太明顯了

db.集合名稱.ensureindex() 建立復合索引,用於多個條件查詢

db.集合名稱.count()   當前集合中共有多少條資料

MongoDB一些基本操作(二)

1.從向mongodb匯出資料 mongoexport d pagedb c page q f id,title,url,spidername,pubdate csv pages.csv 說明 將pagedb資料庫中page集合的資料匯出到pages.csv檔案,其中各選項含義 f 指定cvs列名為...

一些基本的SQL命令

顯示資料庫或表 show databases use database name show tables 更改表名 alter table table name rename new t 新增列 alter table table name add column c n column attribu...

一些基本的Linux命令

命令 help 檢視命令的幫助資訊 檔案許可權管理 r 讀 數值表示為4 w 寫 數值表示為2 x 可執行 數值表示為1 rwxr r 第乙個字元 表示檔案 第乙個字元 d 表示目錄 第乙個字元 l 表示鏈結 類似wiindows的快捷方式 第二三四個字元 rwx 表示當前所屬使用者的許可權 用數值...