mongodb基本操作

什么是MongoDB ?

  • MongoDB 是由C++語言編寫的肩碟,是一個基于分布式文件存儲的開源數(shù)據(jù)庫系統(tǒng)。 在高負載的情況下,添加更多的節(jié)點猬腰,可以保證服務(wù)器性能。
    • MongoDB 旨在為WEB應(yīng)用提供可擴展的高性能數(shù)據(jù)存儲解決方案猜敢。
    • MongoDB 將數(shù)據(jù)存儲為一個文檔姑荷,數(shù)據(jù)結(jié)構(gòu)由鍵值(key=>value)對組成。MongoDB 文檔類似于 JSON 對象缩擂。字段值可以包含其他文檔鼠冕,數(shù)組及文檔數(shù)組。

MongoDB特點

  • 模式自由 :可以把不同結(jié)構(gòu)的文檔存儲在同一個數(shù)據(jù)庫里
    • 面向集合的存儲:適合存儲 JSON風格文件的形式
    • 完整的索引支持:對任何屬性可索引
    • 復(fù)制和高可用性:支持服務(wù)器之間的數(shù)據(jù)復(fù)制胯盯,支持主-從模式及服務(wù)器之間的相互復(fù)制懈费。復(fù)制的主要目的是提供冗余及自動故障轉(zhuǎn)移
    • 自動分片:支持云級別的伸縮性:自動分片功能支持水平的數(shù)據(jù)庫集群,可動態(tài)添加額外的機器
    • 豐富的查詢:支持豐富的查詢表達方式博脑,查詢指令使用JSON形式的標記憎乙,可輕易查詢文檔中的內(nèi)嵌的對象及數(shù)組
    • 快速就地更新:查詢優(yōu)化器會分析查詢表達式,并生成一個高效的查詢計劃
    • 高效的傳統(tǒng)存儲方式:支持二進制數(shù)據(jù)及大型對象(如照片或圖片)

基本操作

  • MongoDB將數(shù)據(jù)存儲為一個文檔叉趣,數(shù)據(jù)結(jié)構(gòu)由鍵值(key=>value)對組成
  • MongoDB文檔類似于JSON對象泞边,字段值可以包含其他文檔、數(shù)組君账、文檔數(shù)組
  • 安裝管理mongodb環(huán)境
  • 完成數(shù)據(jù)庫繁堡、集合的管理
  • 數(shù)據(jù)的增加、修改乡数、刪除椭蹄、查詢

配置文件在/etc/mongod.conf
默認端口27017

啟動mongodb 服務(wù)
sudo service mongod start停止,停止后輸入將不能啟動shell
sudo service mongod stop重置服務(wù)
sudo service mongod restop啟動mongodb客戶端
mongo
終端退出連接

exit 或 ctrl+c
卸載mongodb數(shù)據(jù)庫
刪除 MongoDB 包
sudo apt-get purge mongodb-org
刪除 MongoDB 數(shù)據(jù)庫和日志文件
sudo rm -r /var/log/mongodb
sudo rm -r /var/lib/mongodb

數(shù)據(jù)庫基本命令

  • 查看當前數(shù)據(jù)庫名稱

db

  • 列出所有在物理上存在的數(shù)據(jù)庫

show dbs

  • 切換數(shù)據(jù)庫 如果數(shù)據(jù)庫不存在净赴,則指向數(shù)據(jù)庫绳矩,但不創(chuàng)建,直到插入數(shù)據(jù)或創(chuàng)建集合時數(shù)據(jù)庫才被創(chuàng)建

use 數(shù)據(jù)庫名稱

  • 查看當前數(shù)據(jù)庫信息

db.stats()

db:當前數(shù)據(jù)庫的名字玖翅。
collections:當前數(shù)據(jù)庫的集合數(shù)翼馆。
objects:當前數(shù)據(jù)庫所有集合總所包含的對象(即文檔)的數(shù)量割以。
avgObjSize:每個文檔的平均大小(以字節(jié)為單位)应媚。
dataSize:此數(shù)據(jù)庫中保存的未壓縮數(shù)據(jù)的總大小严沥,不是
指占有磁盤大小,單位是bytes中姜。
storageSize:分配給此數(shù)據(jù)庫的集合用于存儲文檔的空
間總量消玄,也就是當前數(shù)據(jù)庫占有磁盤大小,單位是bytes丢胚。
numExtents:當前數(shù)據(jù)庫所有集合包含的擴展數(shù)量的統(tǒng)計翩瓜。
indexes:數(shù)據(jù)庫中包含的所有集合的索引總數(shù),也就是system.indexes表數(shù)據(jù)行數(shù)携龟。
indexSize:此數(shù)據(jù)庫上創(chuàng)建的所有索引的總大小兔跌,單位是bytes。
  • 數(shù)據(jù)庫刪除:刪除當前指向的數(shù)據(jù)庫,如果數(shù)據(jù)庫不存在峡蟋,則什么也不做

db.dropDatabase()

  • 創(chuàng)建集合
  • 語法

db.createCollection(name, options)

  • 查看當前數(shù)據(jù)庫所有集合

show collections:當前數(shù)據(jù)庫的集合數(shù)坟桅。

  • 刪除集合
  • 語法格式:

db.集合名稱.drop()
如果成功刪除選定集合,則 drop() 方法返回 true层亿,否則返回 false

數(shù)據(jù)的增刪改查

  • 語法

db.集合名稱.insert(document)
注意:插入文檔時桦卒,如果不指定_id參數(shù)立美,MongoDB會為文檔分配一個唯一的ObjectId

  • 刪除文檔語法:
remove() 方法的基本語法格式如下所示:

db.collection.remove(
<query>,
{justOne: <boolean>,}
)
  • 基本的數(shù)據(jù)查詢
  • 基本查詢
db.集合名稱.find({條件文檔})
    * 
findOne():查詢匿又,只返回第一個


db.集合名稱.findOne({條件文檔})
例1:查詢出姓名等于李某某的學(xué)生
db.stu.find({name:'李某某'})
  • 更新文檔MongoDB 使用 update() 和 save() 方法來更新集合中的文檔。兩個函數(shù)是有區(qū)別的建蹄。update() 方法
  • update() 方法用于更新已存在的文檔
db.collection.update(
<query>,
<update>,
{
upsert: <boolean>,
multi: <boolean>,
}
)
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末碌更,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子洞慎,更是在濱河造成了極大的恐慌痛单,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,372評論 6 498
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件劲腿,死亡現(xiàn)場離奇詭異旭绒,居然都是意外死亡,警方通過查閱死者的電腦和手機焦人,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,368評論 3 392
  • 文/潘曉璐 我一進店門挥吵,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人花椭,你說我怎么就攤上這事忽匈。” “怎么了矿辽?”我有些...
    開封第一講書人閱讀 162,415評論 0 353
  • 文/不壞的土叔 我叫張陵丹允,是天一觀的道長郭厌。 經(jīng)常有香客問我,道長雕蔽,這世上最難降的妖魔是什么折柠? 我笑而不...
    開封第一講書人閱讀 58,157評論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮批狐,結(jié)果婚禮上液走,老公的妹妹穿的比我還像新娘。我一直安慰自己贾陷,他們只是感情好缘眶,可當我...
    茶點故事閱讀 67,171評論 6 388
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著髓废,像睡著了一般巷懈。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上慌洪,一...
    開封第一講書人閱讀 51,125評論 1 297
  • 那天顶燕,我揣著相機與錄音,去河邊找鬼冈爹。 笑死涌攻,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的频伤。 我是一名探鬼主播恳谎,決...
    沈念sama閱讀 40,028評論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼憋肖!你這毒婦竟也來了因痛?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,887評論 0 274
  • 序言:老撾萬榮一對情侶失蹤岸更,失蹤者是張志新(化名)和其女友劉穎鸵膏,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體怎炊,經(jīng)...
    沈念sama閱讀 45,310評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡谭企,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,533評論 2 332
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了评肆。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片债查。...
    茶點故事閱讀 39,690評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖糟港,靈堂內(nèi)的尸體忽然破棺而出攀操,到底是詐尸還是另有隱情,我是刑警寧澤秸抚,帶...
    沈念sama閱讀 35,411評論 5 343
  • 正文 年R本政府宣布速和,位于F島的核電站歹垫,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏颠放。R本人自食惡果不足惜排惨,卻給世界環(huán)境...
    茶點故事閱讀 41,004評論 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望碰凶。 院中可真熱鬧暮芭,春花似錦、人聲如沸欲低。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽砾莱。三九已至瑞筐,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間腊瑟,已是汗流浹背聚假。 一陣腳步聲響...
    開封第一講書人閱讀 32,812評論 1 268
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留闰非,地道東北人膘格。 一個月前我還...
    沈念sama閱讀 47,693評論 2 368
  • 正文 我出身青樓,卻偏偏與公主長得像财松,于是被迫代替她去往敵國和親瘪贱。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,577評論 2 353

推薦閱讀更多精彩內(nèi)容

  • mongodb介紹 1.什么是mongodb? mongodb 是由c++語言編寫的游岳,是一個基于分布式文件存儲的開...
    咻咻咻滴趙大妞閱讀 283評論 0 0
  • -z#啟動等命令"""sudo service mongod|mongodb startsudo service ...
    木頭的男人閱讀 559評論 0 1
  • 1政敢、創(chuàng)建數(shù)據(jù)庫 如果要創(chuàng)建一個名稱為<newdb>的數(shù)據(jù)庫其徙,那么使用 use DATABASE 語句將如下所示: ...
    莫夏_b560閱讀 894評論 0 0
  • 一胚迫、MongoDB簡介 1.概述 ? MongoDB是一個基于分布式文件存儲的數(shù)據(jù)庫,由C++語言編寫唾那。旨在為WE...
    鄭元吉閱讀 977評論 0 2
  • 基本操作: 幫助 不同級別和命令 常用操作查看當前db版本 顯示當前數(shù)據(jù)庫 查詢所有數(shù)據(jù)庫 切換數(shù)據(jù)庫 顯示當前數(shù)...
    山口肅彧閱讀 642評論 0 0