mongodb

git clone ...

cd mongo

mongod啟動mongodb服務(wù)

mongo:mongodb客戶端

mongoimport:導(dǎo)入

mongoexport:導(dǎo)出

mongodump,mongorestore導(dǎo)入導(dǎo)出二進(jìn)制數(shù)據(jù)爬范,不能讀取唧躲,一般做數(shù)據(jù)的備份與恢復(fù)

mongooplog操作日志的回放,復(fù)制集中操作日志

mongostat查看mongodb服務(wù)器的各種狀態(tài)

mongodb安裝完成后秦叛,搭建一個簡單的mongodb服務(wù)器 方式:

1.創(chuàng)建服務(wù)目錄:mkdir mongodb_simple & cd mongodb_simple/

2.創(chuàng)建data目錄,存儲數(shù)據(jù)庫的數(shù)據(jù)文件:mkdir data

3.創(chuàng)建log文件夾瞧预,存儲日志文件:mkdir log

4.創(chuàng)建conf目錄,存儲啟動配置文件:mkdir conf


mongod.conf:port = 12345端口dbpath = data數(shù)據(jù)存儲路徑logpath = log/mongod.log日志文件存儲路徑fork = true在linux下表明這是啟動一個后臺進(jìn)程,window下無效胀糜。

類比js颅拦,一個對象就是一個文檔。集合是一組文檔教藻。

show dbs查看所有數(shù)據(jù)庫

use local連接local數(shù)據(jù)庫(有就連接距帅,沒有就創(chuàng)建并連接)

db.dropDatabase()刪除數(shù)據(jù)庫

db.wang_handsome.insert({x:1)}在local數(shù)據(jù)庫里創(chuàng)建wang_handsome表,并插入x:1的數(shù)據(jù)

db.wang_handsome.find()列出所有集合括堤,加參數(shù)為查找findOne()查找一條

db.wang_handsome.find().count()查看共有多少條數(shù)據(jù)

for(i =3;i < 99;i++)db.wang_handsome.insert({x:i)}循環(huán)插入若干條數(shù)據(jù)碌秸。

在表中都有唯一的“_id”,自動生成,也可以自己創(chuàng)建悄窃,不能重復(fù)

db.wang_handsome.find().skip(3).limit(2).sort({x:1})過濾掉前三條數(shù)據(jù)讥电,限制只返回兩條數(shù)據(jù),并使用x:1排序

db.imooc_collection.update({x:6}, {$set:{y:10}})將數(shù)據(jù)更新广匙,(查找允趟,更新)$set部分更新

db.imooc_collection.update({y:5}, {y:10},true)更新不存在的數(shù)據(jù),會自動生成

默認(rèn)情況多條一樣的數(shù)據(jù)鸦致,update只會更新第一條潮剪,

db.imooc_collection.update({y:5}, {$set:{y:10}},false,true) 找不到不覆蓋,更新所有

db.imooc_collection.remove({y:10})刪除全部y

db.imooc_collection.drop()清空表內(nèi)容

db.imooc_collection.getIndexes()查看當(dāng)前表索引

db.imooc_collection.ensureIndex({x:1})創(chuàng)建一個索引


單鍵索引:

多鍵查詢

查詢條件不只有一個時分唾,建立復(fù)合索引db.imooc_collection.ensureIndex({x:1,y:1})

過期索引抗碰,在一段時間后會過期的索引,索引過期后绽乔,相應(yīng)的數(shù)據(jù)也會被刪除弧蝇。比如用戶的登陸信息,存儲的日志等折砸。db.imooc_collection.ensureIndex({x:1},{expireAfterSeconds:10}),要加入第二個參數(shù)過期時間看疗。

使用mongodb的索引,就不能使用時間戳。db.wang_handsome.insert({time:1)}不能被自動刪除,time:new Date()就可以肆氓。必須是ISODate或ISODate數(shù)組。如果指定了ISO數(shù)組怖辆,則按照最小的時間刪除。過期索引不能是符合索引删顶,因?yàn)椴荒苡袃蓚€時間戳竖螃。刪除時間不精確,刪除過程每60s跑一次逗余,而且刪除過程也需要時間特咆,所以有誤差。

全局索引

地理位置索引:可實(shí)現(xiàn)社交軟件的獲取周邊用戶信息录粱。db.article.ensureIndex({$**, "text"})對整個集合創(chuàng)建一個大的索引坚弱。

db.article.ensureIndex({"article", "text"})

使用全文索引進(jìn)行查詢?yōu)榛虿樵?/p>

db.article.find({$text:{$search:"aa bb cc"}})

db.article.find({$text:{$search:"aa bb -cc"}})負(fù)號為不存在

db.article.find({$text:{$search:"\"aa\" \"bb\" \"-cc\""}})與方式查找蜀备。

全文索引相似度:$meta操作符:{score:{$meta: "textScore"}}加在插入數(shù)據(jù)的第二個參數(shù),排序sort里也是這個參數(shù)荒叶。

全文索引限制:每次查詢中碾阁,只能指定一個$text查詢。不能出現(xiàn)在$nor查詢中些楣。

查詢中如果有$text, hint強(qiáng)制索引將不起作用脂凶。

mongodb全文索引不支持中文。

指定索引名字:db.article.ensureIndex({"article", "text"}, {name: "xxx"})

db.article.ensureIndex({"article", "text"}, {unique:true})確定數(shù)據(jù)的唯一性愁茁,不能插入完全一樣的數(shù)據(jù)蚕钦。


地理位置索引: 查找一個點(diǎn)一定范圍的其它點(diǎn),查找一定區(qū)域內(nèi)的點(diǎn)鹅很。

db.location.ensureIndex({w:"2d"})

db.location.insert({w: [1,1]})

位置表示方式:經(jīng)緯度[經(jīng)度嘶居,緯度]。經(jīng)度[-180,180],緯度[-90,90]

db.location.find({w:{$near:[1,1], $maxDistance:10}})距離1促煮,1最近的不超過10的點(diǎn)邮屁。這里不支持minDistance。

$geoWithin查詢某個形狀內(nèi)的點(diǎn)菠齿。

db.location.find({w:{$geoWithin: {$box:[[0,0], [2, 2]]}}})

db.location.find(w: {$geoWithin: {$center: [[0,0], 5]}})

db.location.find(w: {$geoWithin: {$polygon: [[0,0], [1,1], [2,2]]})

db.geoCommand({geoNear: "location", near: [1,2], maxDistance: 10, num: 1})必near更加實(shí)用佑吝。

球面地理位置索引:db.location.ensureIndex({w:"2dsphere"})


索引好處:加快索引相關(guān)數(shù)據(jù)的查詢。

壞處:增加磁盤空間消耗绳匀,降低寫入性能芋忿。

.explained()可以查看某一次查詢索引的使用情況。


mongodb安全:

物理隔離:不現(xiàn)實(shí)疾棵。

網(wǎng)絡(luò)隔離:

防火墻隔離:配置某些id能訪問戈钢。

用戶名密碼:安全級別最低。

mongodb默認(rèn)不開啟權(quán)限認(rèn)證

開啟的兩種方法:auth=true是尔,keyfile

mongodb創(chuàng)建用戶:db.createUser({各種參數(shù)});

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末逆趣,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子嗜历,更是在濱河造成了極大的恐慌,老刑警劉巖抖所,帶你破解...
    沈念sama閱讀 206,013評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件梨州,死亡現(xiàn)場離奇詭異,居然都是意外死亡田轧,警方通過查閱死者的電腦和手機(jī)暴匠,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,205評論 2 382
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來傻粘,“玉大人每窖,你說我怎么就攤上這事帮掉。” “怎么了窒典?”我有些...
    開封第一講書人閱讀 152,370評論 0 342
  • 文/不壞的土叔 我叫張陵蟆炊,是天一觀的道長。 經(jīng)常有香客問我瀑志,道長涩搓,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,168評論 1 278
  • 正文 為了忘掉前任劈猪,我火速辦了婚禮昧甘,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘战得。我一直安慰自己充边,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,153評論 5 371
  • 文/花漫 我一把揭開白布常侦。 她就那樣靜靜地躺著浇冰,像睡著了一般。 火紅的嫁衣襯著肌膚如雪刮吧。 梳的紋絲不亂的頭發(fā)上湖饱,一...
    開封第一講書人閱讀 48,954評論 1 283
  • 那天,我揣著相機(jī)與錄音杀捻,去河邊找鬼井厌。 笑死,一個胖子當(dāng)著我的面吹牛致讥,可吹牛的內(nèi)容都是我干的仅仆。 我是一名探鬼主播,決...
    沈念sama閱讀 38,271評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼垢袱,長吁一口氣:“原來是場噩夢啊……” “哼墓拜!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起请契,我...
    開封第一講書人閱讀 36,916評論 0 259
  • 序言:老撾萬榮一對情侶失蹤咳榜,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后爽锥,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體涌韩,經(jīng)...
    沈念sama閱讀 43,382評論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,877評論 2 323
  • 正文 我和宋清朗相戀三年氯夷,在試婚紗的時候發(fā)現(xiàn)自己被綠了臣樱。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 37,989評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖雇毫,靈堂內(nèi)的尸體忽然破棺而出玄捕,到底是詐尸還是另有隱情,我是刑警寧澤棚放,帶...
    沈念sama閱讀 33,624評論 4 322
  • 正文 年R本政府宣布枚粘,位于F島的核電站,受9級特大地震影響席吴,放射性物質(zhì)發(fā)生泄漏赌结。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,209評論 3 307
  • 文/蒙蒙 一孝冒、第九天 我趴在偏房一處隱蔽的房頂上張望柬姚。 院中可真熱鬧,春花似錦庄涡、人聲如沸量承。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,199評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽撕捍。三九已至,卻和暖如春泣洞,著一層夾襖步出監(jiān)牢的瞬間忧风,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,418評論 1 260
  • 我被黑心中介騙來泰國打工球凰, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留狮腿,地道東北人。 一個月前我還...
    沈念sama閱讀 45,401評論 2 352
  • 正文 我出身青樓呕诉,卻偏偏與公主長得像缘厢,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子甩挫,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,700評論 2 345

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

  • 1贴硫、_id索引: 自動創(chuàng)建 2、單鍵索引: 【值為一個單個的值伊者,例如字符串英遭、數(shù)字或者日期】db.nums.in...
    Uzero閱讀 763評論 2 0
  • 本文包括以下幾個方面: –安全措施 – 部署架構(gòu) – 系統(tǒng)優(yōu)化 – 索引設(shè)計 – 備份監(jiān)控 – 模式設(shè)計 – 程序...
    張偉科閱讀 3,966評論 0 9
  • 安裝 MongoDB Windowns、Ubuntu17.10 下安裝 MongoDB教程在此 MongoDB 幫...
    Kangvcar閱讀 2,089評論 0 13
  • 初始化 為使用mongodb數(shù)據(jù)庫亦渗,先建立一個用于存儲數(shù)據(jù)庫的工作目錄:(目錄可以建立在任意位置挖诸;在使用虛擬機(jī)時,...
    乾九二閱讀 764評論 0 1
  • 情傷和情傷的互相撫慰央碟,身病和身病的互相憐憫。
    善水嗯君閱讀 183評論 0 0