Mogondb

1.什么是[NoSQL]數(shù)據(jù)庫(kù)

數(shù)據(jù)庫(kù):進(jìn)行高效的山析、有規(guī)則的進(jìn)行數(shù)據(jù)持久化存儲(chǔ)的軟件

NoSQL數(shù)據(jù)庫(kù):Not only sql笋轨,指代非關(guān)系型數(shù)據(jù)庫(kù)

優(yōu)點(diǎn):高可擴(kuò)展性、分布式計(jì)算钾挟、低成本掺出、靈活架構(gòu)、半結(jié)構(gòu)化數(shù)據(jù)闲礼、簡(jiǎn)化關(guān)聯(lián)關(guān)系

缺點(diǎn):沒(méi)有標(biāo)準(zhǔn)化慎菲、有限查詢露该、不直觀


2.常見(jiàn)[NoSQL]數(shù)據(jù)庫(kù) BSON==ison

列存儲(chǔ):Hbase、Cassandra、Hypertable

文檔存儲(chǔ):MongoDB台汇、CouchDB

k-v存儲(chǔ):TokyoCabinet苟呐、BerkeleyDB、MemcacheDB笆呆、redis

對(duì)象存儲(chǔ):Neo4J赠幕、Versant

Xml數(shù)據(jù)庫(kù):BerkeleyDB、BaseX

3.MongoDB概述

MongDB是一個(gè)基于分布式文件存儲(chǔ)的NoSQL數(shù)據(jù)庫(kù)

C++編寫的運(yùn)行穩(wěn)定性能高的數(shù)據(jù)庫(kù)

模式自由

面向集合

完整索引支持

復(fù)制和高可用性

more …

4.Mongodb下載安裝

官方網(wǎng)站:https://www.mongodb.com/

下載【偶數(shù)為穩(wěn)定版逆屡,如1.6魏蔗,奇數(shù)為開(kāi)發(fā)版沫勿,如1.7】

windows安裝mongoDB

ubuntu安裝mongoDB

5.Mongodb術(shù)語(yǔ)解釋

database--database:數(shù)據(jù)庫(kù)

table – collection:數(shù)據(jù)庫(kù)表 – 集合

row – document: 數(shù)據(jù)記錄 – 文檔

column – field:數(shù)據(jù)字段 – 域

index – index :索引 – 索引

table-join – None:表連接~

primary key – primary key :主鍵

6.Mongodb基本操作

mongoDB將數(shù)據(jù)存儲(chǔ)為一個(gè)文檔

數(shù)據(jù)由 key=value 的鍵值對(duì)的形式組成

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

nosql三元素:數(shù)據(jù)庫(kù) – 集合 – 文檔 [--域]

7.MongoDB基本語(yǔ)法——數(shù)據(jù)庫(kù)操作

db:查看當(dāng)前指向的數(shù)據(jù)庫(kù)

db.getName()

db.getHelp()查看db變量的所有辦法

show dbs:查看當(dāng)前所有的數(shù)據(jù)庫(kù)

use <數(shù)據(jù)庫(kù)名稱>:指向一個(gè)數(shù)據(jù)庫(kù)

Use數(shù)據(jù)庫(kù)不會(huì)創(chuàng)建數(shù)據(jù)庫(kù),如果操作數(shù)據(jù)會(huì)自動(dòng)創(chuàng)建數(shù)據(jù)庫(kù)

db.dropDatabase():刪除當(dāng)前指向的數(shù)據(jù)庫(kù)



8.MongoDB基本語(yǔ)法——集合操作

show collections:查看當(dāng)前數(shù)據(jù)庫(kù)所有集合 db.createCollection([, options]):創(chuàng)建一個(gè)集合

db.<集合名稱>.drop():刪除指定的集合


9.MongoDB基本語(yǔ)法——數(shù)據(jù)類型

ObjectID:文檔id

String:字符串

Boolean:布爾值

Integer:整數(shù)

Double:浮點(diǎn)數(shù)

Arrays:數(shù)組或者列表

Object:嵌入的文檔

Null:空值

Timestamp:時(shí)間戳

Date:日期時(shí)間

10.MongoDB基礎(chǔ)語(yǔ)法——增加數(shù)據(jù)

語(yǔ)法:db.<集合名稱>.insert(文檔)

集合可以是原來(lái)存在的馆衔,可以是不存在的

文檔:就是BSON (JSON)格式【python中的dict】表示的數(shù)據(jù)(dict)

簡(jiǎn)單查詢:db.<集合名稱>.find() 查詢指定集合的數(shù)據(jù)

db.<集合名稱>.find().pretty()改變數(shù)據(jù)列出方式


11.MongoDB基礎(chǔ)語(yǔ)法——更新數(shù)據(jù)

語(yǔ)法:db.<集合名稱>.update(,,[multi:])

update默認(rèn)會(huì)修改全部;加$set會(huì)把添加內(nèi)容追加到數(shù)據(jù)后。

db.user.updateOne({name:"haha"},{$set:{age:28,name:"hehe"}})

指定屬性更新:$opration

multi:默認(rèn)false更新符合條件第一條驮吱,設(shè)置true全集合更新


12.MongoDB基礎(chǔ)語(yǔ)法——保存數(shù)據(jù)

語(yǔ)法:db.<集合名稱>.save(文檔)

特征:[_id]如果數(shù)據(jù)不存在~添加拇砰,如果數(shù)據(jù)存在~修改


13.MongoDB基礎(chǔ)語(yǔ)法——?jiǎng)h除數(shù)據(jù)

語(yǔ)法:db.<集合名稱>.remove(, {justOne:})

參數(shù)query:刪除文檔的條件

參數(shù)justOne:設(shè)置為true或者1癌别,刪除一條躁垛;默認(rèn)false刪除多條


14.MongoDB基礎(chǔ)語(yǔ)法——查詢數(shù)據(jù)

基本查詢

find([{文檔條件}]):全集合查詢

findOne([{文檔條件}]):查詢第一個(gè)

pretty():將查詢結(jié)果格式化展示


14.1比較運(yùn)算符(關(guān)系運(yùn)算符)

默認(rèn)判斷土铺,無(wú)運(yùn)算符

$lt:little~小于 <? less than

$lte:little or equals~小于等于 <=

$gt:granter~大于 >

$gte:granter or equals~大于等于 >=

例:

14.2邏輯運(yùn)算符

邏輯與:并且運(yùn)算,默認(rèn)操作部宿,無(wú)運(yùn)算符

邏輯或:或者運(yùn)算理张,$or


14.3范圍運(yùn)算符

$in:判斷指定條件是否包含在某個(gè)范圍內(nèi)

$nin:判斷指定條件是否不包含在某個(gè)范圍內(nèi)


14.4正則條件

/reg/:普通正則表達(dá)式

$regex:指定正則表達(dá)式


14.5自定義條件

$where:通過(guò)函數(shù)自定義條件[JS函數(shù)]

指定函數(shù)中,返回boolean類型的值

this表示每個(gè)要查詢的文檔


14.6數(shù)據(jù)查詢——限制查詢條數(shù)

.limit(count)


14.7數(shù)據(jù)查詢——跳過(guò)記錄行數(shù)

.skip(num)


14.8數(shù)據(jù)查詢——投影:查詢指定的域

find({}, {投影字段:1/0})


14.9數(shù)據(jù)查詢——排序

.sort({字段:1/-1, ...})


14.10數(shù)據(jù)查詢——統(tǒng)計(jì)

<find>.count().

<find({條件})>count()

db.<集合名稱>.count({條件})


14.11數(shù)據(jù)查詢——去重

db.<集合名稱>.distinct(“去重域名稱”, {條件})


最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末奏寨,一起剝皮案震驚了整個(gè)濱河市起意,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌病瞳,老刑警劉巖揽咕,帶你破解...
    沈念sama閱讀 217,734評(píng)論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異套菜,居然都是意外死亡亲善,警方通過(guò)查閱死者的電腦和手機(jī)蛹头,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,931評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)浸赫,“玉大人涧狮,你說(shuō)我怎么就攤上這事。” “怎么了?”我有些...
    開(kāi)封第一講書人閱讀 164,133評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵侧戴,是天一觀的道長(zhǎng)寂曹。 經(jīng)常有香客問(wèn)我匾灶,道長(zhǎng),這世上最難降的妖魔是什么憔杨? 我笑而不...
    開(kāi)封第一講書人閱讀 58,532評(píng)論 1 293
  • 正文 為了忘掉前任岁经,我火速辦了婚禮塘慕,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘牡昆。我一直安慰自己掸刊,他們只是感情好松逊,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,585評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布缚柏。 她就那樣靜靜地躺著,像睡著了一般冀续。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上度硝,一...
    開(kāi)封第一講書人閱讀 51,462評(píng)論 1 302
  • 那天,我揣著相機(jī)與錄音视搏,去河邊找鬼漓滔。 笑死畅形,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播束析,決...
    沈念sama閱讀 40,262評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼扳缕,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼衫樊!你這毒婦竟也來(lái)了屎开?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書人閱讀 39,153評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤马靠,失蹤者是張志新(化名)和其女友劉穎奄抽,沒(méi)想到半個(gè)月后蔼两,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,587評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡逞度,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,792評(píng)論 3 336
  • 正文 我和宋清朗相戀三年额划,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片档泽。...
    茶點(diǎn)故事閱讀 39,919評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡俊戳,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出茁瘦,到底是詐尸還是另有隱情品抽,我是刑警寧澤,帶...
    沈念sama閱讀 35,635評(píng)論 5 345
  • 正文 年R本政府宣布甜熔,位于F島的核電站圆恤,受9級(jí)特大地震影響腔稀,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜淡喜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,237評(píng)論 3 329
  • 文/蒙蒙 一诵闭、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧疏尿,春花似錦瘟芝、人聲如沸褥琐。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 31,855評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)褐鸥。三九已至,卻和暖如春姊舵,著一層夾襖步出監(jiān)牢的瞬間括丁,已是汗流浹背史飞。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 32,983評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工仰税, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留构资,地道東北人吐绵。 一個(gè)月前我還...
    沈念sama閱讀 48,048評(píng)論 3 370
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像纹笼,于是被迫代替她去往敵國(guó)和親廷痘。 傳聞我的和親對(duì)象是個(gè)殘疾皇子牍疏,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,864評(píng)論 2 354

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