創(chuàng)建數(shù)據(jù)庫
use dbname
從這里開始下文中所有的dbname都是自己新建的數(shù)據(jù)庫的名稱
如果存在dbname找前,則會自動選擇dbname數(shù)據(jù)庫县昂,如果不存在則會創(chuàng)建dbname數(shù)據(jù)庫温眉。
db #查看當前選擇的數(shù)據(jù)庫
show dbs #查看你所有的數(shù)據(jù)庫
如果在數(shù)據(jù)庫中沒有數(shù)據(jù)那么show dbs無法顯示新創(chuàng)建的數(shù)據(jù)庫名稱丛晦。
刪除數(shù)據(jù)庫
db.dropDatebase()
創(chuàng)建集合
db.creatCollection("ccname")
/ccname同dbname一樣為自己剪的集合
db.creatCollection("ccname"),{capped:true,autoIndexID:true,size:10000,max:10000}
capped,autoindexid,size咱旱,max
capped布爾類型确丢,和autoindexid一樣,最后兩個則是數(shù)值類型吐限,單看這個英文單詞也會知道它是什么類型鲜侥,一個是大小,一個是最大值這樣一個翻譯诸典。這些都很好區(qū)別描函。
capped:固定集合的大小,如果值為true時必須也指定size
audoindexid:如果為true狐粱,自動創(chuàng)建_id索引
size:設(shè)置集合的大小
max:指定固定集合中包含文檔的最大數(shù)量
其實在MongoDB中舀寓,你不需要創(chuàng)建集合,當你插入一些文檔時肌蜻,MongoDB也會自動創(chuàng)建集合互墓。
刪除集合
db.ccname.drop()
文檔的增刪改查
1.增
db.ccname.insert('name':'李華','age':18)
或者你可以定義一個變量
abc = ({'name':'李華','age':18})
db.ccname.insert(abc)
2.刪
db.collection.remove(
<query>, #刪除的文檔的條件
{
justOne:<boolean>,如果設(shè)為true或1,則只刪除一個文檔
writeConcern:<document>拋出異常的級別
}
)
db.ccname.remove({'name':'李華'})刪除所有name=李華的文檔
db.ccname.move({'name':"李華"},{justOne:1})
刪除一條name=李華的文檔
3.改
db.collection.update(
<query> 相當于sql語句中的where
<update>相當于sql語句中的set
{
upsert:<boolean>,可選蒋搜,這個參數(shù)的意思是轰豆,如果不存在update的記錄,是否插入objNew齿诞,true為插入,默認是false骂租,不插入祷杈。
multi:<boolean>可選,mongodb默認是false渗饮,只更新找到的第一條記錄但汞,如果這個參數(shù)為True就把條件查出來多條記錄全部更新。
writeConcern:<document>可選互站,拋出異常的級別
}
)
4.查
查詢集合中所有文檔
db.ccname.find()
按照條件查詢+and條件
db.ccname.find({"name":"李華","age":20}).pretty()相當于select * from ccname where name="李華" and age=20;
其中pretty可以時輸出的數(shù)據(jù)更容易查看
查詢中的or條件
db.ccname.find({$or:[{"name":"李華"},{"age":15}]})
相當于select * from ccname where name="李華" or age=15;
and和or連用:
db.ccname.find({"name":"李華"私蕾,$or:["age"=20,"age"=15]})相當于select * from ccname where name="李華" and (age=20 or age=15);