安裝/卸載MongoDB
apt-get install mongodb
apt-get --purge remove mongodb mongodb-clients mongodb-server
查看MongoDB版本信息
mongo -version
開啟/關閉MongoDB服務
service mongodb start
service mongodb stop
查看MongoDB是否啟動成功
pgrep mongo -l
(幫助)顯示數據庫操作命令
db.help()
(幫助)顯示集合操作命令
db.yourCollection.help()
顯示所有數據庫
show dbs
創建數據庫db
(以創建數據庫School為例)
*創建一個“School”的數據庫,先運行下面命令,之后做一些操作(如:創建聚集集合db.createCollection('teacher')),這樣就可以創建一個名叫“School”的數據庫
use School
刪除數據庫庫
db.dropDatabase()
顯示當前數據庫中的集合
show collections
創建集合Collection
(以創建集合teacher為例)
db.createCollection('teacher')
刪除集合
db.yourCollection.drop()
插入數據
db.student.insert({_id:1, sname: 'zhangsan', sage: 20}) #_id可選
db.student.save({_id:1, sname: 'zhangsan', sage: 22}) #_id可選
*在手動插入_id字段時,如果_id已經存在,insert不做操作,save做更新操作;如果不加_id字段,兩者作用相同都是插入數據
查找數據
db.youCollection.find(criteria, filterDisplay)
criteria :查詢條件,可選
filterDisplay:篩選顯示部分數據,如顯示指定列數據,可選(當選擇時,第一個參數不可省略,若查詢條件為空,可用{}做占位符,如下例第三句)
db.student.find() #查詢所有記錄。相當于:select * from student
db.student.find({sname: 'lisi'}) #查詢sname='lisi'的記錄。相當于: select * from student where sname='lisi'
db.student.find({},{sname:1, sage:1}) #查詢指定列sname、sage數據。相當于:select sname,sage from student。sname:1表示返回sname列,默認_id字段也是返回的,可以添加_id:0(意為不返回_id)寫成{sname: 1, sage: 1,_id:0},就不會返回默認的_id字段了
db.student.find({sname: 'zhangsan', sage: 22}) #and 與條件查詢。相當于:select * from student where sname = 'zhangsan' and sage = 22
db.student.find({$or: [{sage: 22}, {sage: 25}]}) #or 條件查詢。相當于:select * from student where sage = 22 or sage = 25
更新數據
db.youCollection.update(criteria, objNew, upsert, multi )
criteria: update的查詢條件,類似sql update查詢內where后面的
objNew : update的對象和一些更新的操作符(如$set)等,也可以理解為sql update查詢內set后面的。
upsert : 如果不存在update的記錄,是否插入objNew,true為插入,默認是false,不插入。
multi: mongodb默認是false,只更新找到的第一條記錄,如果這個參數為true,就把按條件查出來多條記錄全部更新。默認false,只修改匹配到的第一條數據。
其中criteria和objNew是必選參數,upsert和multi可選參數
db.student.update({sname: 'lisi'}, {$set: {sage: 30}}, false, true) #相當于:update student set sage =30 where sname = 'lisi';
刪除數據
db.student.remove({sname: 'chenliu'}) #相當于:delete from student where sname='chenliu'
db.student.remove({}) #刪除此集合全部數據