https://docs.mongodb.com/getting-started/shell/
上面是mongodb AIP文檔我們點(diǎn)擊進(jìn)入
MongoDB Shell (mongo) Edition (this edition) 這個(gè)是讓我們?cè)赾md控制臺(tái)自己進(jìn)行輸出的增刪改查
現(xiàn)在下的version都是3.3.2以上的缝驳,里面的引擎也改掉了拆内,所以不要用mongovue這個(gè)可視化工具了旋圆,推薦用http://www.mongobooster.com/
直接下接,就可以用
還是費(fèi)話不多說麸恍,也不一定能把所有的增刪改查的全講完灵巧,有多少寫多少,不行以后知道更多了再補(bǔ),先把一個(gè)基本的寫上去
如何對(duì)mongdb前期的一些準(zhǔn)備我就不多說了孩等,不知道的可以看一上一篇
1增
db.students.insert({"name":"ziksang"})
這是往集合中增加一條document
我們可以看出來如果一條一條插數(shù)據(jù)的話,會(huì)死的采够,而且命令輸入太麻煩
所以我們可以用
mongoimport --db test --collection restaurants --drop --file ~/downloads/primer-dataset.json
mongoimport
代表導(dǎo)入數(shù)據(jù)
--db test
代表選擇那個(gè)數(shù)據(jù)庫
--collection restaurants
代表選擇那個(gè)集合
--drop
刪除里面所有的所有document
--file
代表導(dǎo)入文件
~/downloads/primer-dataset.json
表示文件路徑肄方,你可以直接用鼠標(biāo)托到cmd里面就可能以
文件格式要這樣
{"name":"aaaaaa","age":20,"sex":"boy","hobby":["f","b","c"],"scroe":{"shuxue":20,"english":100}}
{"name":"bbbbbb","age":10,"sex":"boy","hobby":["a","b","c"],"scroe":{"shuxue":80,"english":100}}
{"name":"cccccc","age":3,"sex":"boy","hobby":["a","b","c"],"scroe":{"shuxue":20,"english":70}}
{"name":"dddddd","age":20,"sex":"boy","hobby":["d","b","c"],"scroe":{"shuxue":10,"english":70}}
{"name":"ffffff","age":10,"sex":"boy","hobby":["a","b","c"],"scroe":{"shuxue":20,"english":100}}
{"name":"gggggg","age":20,"sex":"boy","hobby":["a","b","c"],"scroe":{"shuxue":20,"english":100}}
{"name":"hhhhhh","age":8,"sex":"boy","hobby":["h","b","c"],"scroe":{"shuxue":20,"english":80}}
{"name":"jjjjjj","age":20,"sex":"boy","hobby":["a","b","c"],"scroe":{"shuxue":40,"english":60}}
{"name":"kkkkkk","age":8,"sex":"boy","hobby":["a","b","c"],"scroe":{"shuxue":20,"english":80}}
{"name":"llllll","age":20,"sex":"boy","hobby":["a","b","c"],"scroe":{"shuxue":20,"english":100}}
{"name":"qqqqqq","age":20,"sex":"boy","hobby":["a","b","c"],"scroe":{"shuxue":20,"english":100}}
2刪
db.dropDatabase()
刪除你所在的當(dāng)前數(shù)據(jù)庫!蹬癌!這個(gè)一定要小心权她,不會(huì)給你任何提示,然后就刪除了
db.students.drop()
刪除數(shù)據(jù)庫中students集合
db.students.remove({"age":20})
刪除所有students集合中age:20的文檔
db.students.remove({"age":100},{ justOne: true })
刪除最前面一條age:100的文檔
3改
單個(gè)修改
db.students.update({"name":"qqqqqq"},{$set:{"age":100}})
把學(xué)生集合中 name =qqqqq 的 age改成100逝薪,但只能修改最上面的一條
多個(gè)修改
db.students.update({},{$set:{"age":100}},{multi:true})
查詢條件為所有隅要,把所有人的年紀(jì)都改成100 mult:true 這個(gè)表示多條件更改
把集合中的一個(gè)document完整替換
db.students.update({"name":"qqqqqq"},{"name":"iiiiii","age":100})
把name叫qqqqqq的一整條document 全部替換成{"name":"iiiiii","age":100}
查
db.restaurants.find()
如果find里沒有查詢條件時(shí),則是列出集合中所有的文檔
db.students.find({"scroe.shuxue":20})
這個(gè)是精確匹配
db.students.find({"scroe.shuxue":20,"scroe.english":100})
多選項(xiàng)匹配董济,因?yàn)榧现械奈臋n可以存js中的各種數(shù)據(jù)類型步清,里面?zhèn)鞯氖且粋€(gè)對(duì)象.屬性來進(jìn)行查詢
條件查詢
db.students.find({"scroe.shuxue":{$gt:50}})
選擇數(shù)學(xué)成績大于50的
db.students.find({"scroe.shuxue":{$gte:80}})
選擇數(shù)學(xué)成績大于等于80的
db.students.find({"scroe.shuxue":{$lt:80}})
選擇數(shù)學(xué)成績小于80的
db.students.find({"scroe.shuxue":{$lte:80}})
選擇數(shù)學(xué)成績小于等于80的
db.students.find({$or : [{"age":3},{"age":10}]})
選擇年齡等于3歲或者10歲的都可以
db.students.find().sort({"scroe.shuxue":-1,"age":1})
排列,進(jìn)入學(xué)生集合查詢虏肾,進(jìn)行 分?jǐn)?shù)降序排廓啊,如果分?jǐn)?shù)相同,則年齡升序排 -1表示降序 1表示升序
這些是基本的操作封豪,你們可以拿著我mongoimport
那些數(shù)據(jù)后進(jìn)行把這些一個(gè)一個(gè)都走一遍谴轮,基本的就掌握了