国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【DBA課程-筆記】第2章:MongoDB數(shù)據(jù)數(shù)據(jù)查詢與分析

這篇具有很好參考價(jià)值的文章主要介紹了【DBA課程-筆記】第2章:MongoDB數(shù)據(jù)數(shù)據(jù)查詢與分析。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

目錄

一、課程大綱?

二、MongoDB 條件查詢

1.?制造 MongoDB 測(cè)試數(shù)據(jù)

2.?MongoDB 數(shù)據(jù)查詢 與 SQL對(duì)應(yīng)關(guān)系

3. MongoDB 查詢運(yùn)算符

4.?MongoDB 數(shù)據(jù)查詢、條件查詢、過濾

5.?MongoDB 條件查詢命令

6.?MongoDB 數(shù)據(jù)查詢數(shù)組條件

A. 精確匹配數(shù)組元素:

B. 無順序 and 精確 匹配

C. 至少匹配一個(gè)?

D. 組合條件滿足一個(gè)條件過濾

E. $elemMatch操作符查詢內(nèi)嵌文檔

F. 正則:模糊查詢:/.* .*/

G. 正則:以xx開頭:/^?.*/?

H. 正則:以xx結(jié)尾:/.* $/

7. MongoDB 數(shù)據(jù)查詢嵌套數(shù)組文檔

A. 文檔嵌套:?jiǎn)螚l件查詢

B. 文檔嵌套:多條件查詢(and)

三、映射Project 與 過濾

四、去除重復(fù) Distinct

五、聚合分組統(tǒng)計(jì) Group By

A.??三種方式

B:聚合函數(shù) ( 了解即可 )

?注意:4.2.1中已經(jīng)不支持 group( db.users.help() 查詢沒有g(shù)roup函數(shù) )

1.?分組統(tǒng)計(jì)不同年齡段的用戶

2. 分組統(tǒng)計(jì)不同用戶的訂單總額

C:聚合管道

D:MapReduce (非常適用于大數(shù)據(jù)分析,如基于java的hadoop)

一、課程大綱?

  • MongoDB 條件查詢
  • 映射 Project 與 過濾
  • 去除重復(fù) Distinct
  • 分組統(tǒng)計(jì) Group

【DBA課程-筆記】第2章:MongoDB數(shù)據(jù)數(shù)據(jù)查詢與分析,架構(gòu)師之路-java,筆記,mongo,DBA

二、MongoDB 條件查詢

1.?制造 MongoDB 測(cè)試數(shù)據(jù)

db.users.insert({name:'frank',age:16,city:'beijing' )
db.users.insert({name:'xulei',age:17,city:'hangzhou' )
db.users.insert(name:'frankxulei'age:18,city:'shanghai')
db.users.insert({name:'alibaba',age: 25,tags:['java','mysql','mongodb'],city:'hangzhou'})
db.users.save()
db.users.insertOne()
db.users.insertMany()

2.?MongoDB 數(shù)據(jù)查詢 與 SQL對(duì)應(yīng)關(guān)系

MongoDB SQL語句 說明
find() all
find({}) all
find({fage:18}) select * from users where age =18
$lt:18 where age<18 less rhan
$gt:18 where age>18 greater than
$lte:18 where age<=18 less rhan or equal
$gte=:18 where age>=18 greater than or equal
$in:[18,19] where age in(18,19)
$or:[{age:18}, { name:' frankxulei'}] where age=18 or name= 'frankxuleil'
{age:18,name:'frankxulei'} where age = 18 and name= 'frankxulei'
({“name”:/.*阿里.*/}) select * from users where name like “%阿里%”

3. MongoDB 查詢運(yùn)算符

【DBA課程-筆記】第2章:MongoDB數(shù)據(jù)數(shù)據(jù)查詢與分析,架構(gòu)師之路-java,筆記,mongo,DBA

4.?MongoDB 數(shù)據(jù)查詢、條件查詢、過濾

【DBA課程-筆記】第2章:MongoDB數(shù)據(jù)數(shù)據(jù)查詢與分析,架構(gòu)師之路-java,筆記,mongo,DBA

5.?MongoDB 條件查詢命令

【DBA課程-筆記】第2章:MongoDB數(shù)據(jù)數(shù)據(jù)查詢與分析,架構(gòu)師之路-java,筆記,mongo,DBA

6.?MongoDB 數(shù)據(jù)查詢數(shù)組條件

A. 精確匹配數(shù)組元素

db.users.find( { tags:["java","mongodb"]})
  • ??描述:查出所有數(shù)組中包含java和mongodb的文檔,且有先后順序

【DBA課程-筆記】第2章:MongoDB數(shù)據(jù)數(shù)據(jù)查詢與分析,架構(gòu)師之路-java,筆記,mongo,DBA

B. 無順序 and 精確 匹配

db.users.find( { tags:{$all:["java","mongodb"]}})
  • ?描述:查出所有數(shù)組中包含java和mongodb的文檔

【DBA課程-筆記】第2章:MongoDB數(shù)據(jù)數(shù)據(jù)查詢與分析,架構(gòu)師之路-java,筆記,mongo,DBA

C. 至少匹配一個(gè)?

db.users.find( { tags:"java"})
  • 描述:查出所有數(shù)組中包含java的文檔?

【DBA課程-筆記】第2章:MongoDB數(shù)據(jù)數(shù)據(jù)查詢與分析,架構(gòu)師之路-java,筆記,mongo,DBA


D. 組合條件滿足一個(gè)條件過濾

db.users.find( { age: { $gt: 15, $lt: 20 }})
  • ?描述:查找?age ∈(15,20)?

【DBA課程-筆記】第2章:MongoDB數(shù)據(jù)數(shù)據(jù)查詢與分析,架構(gòu)師之路-java,筆記,mongo,DBA


E. $elemMatch操作符查詢內(nèi)嵌文檔

  • 作用:用于查同于個(gè)元素中的鍵值組合,
  • 針對(duì) LIst<object> 查詢
  • 詳情請(qǐng)參考
db.test.insert({"id":1, "members":[{"name":"BuleRiver1", "age":27, "gender":"M"}, {"name":"BuleRiver2", "age":23, "gender":"F"}, {"name":"BuleRiver3", "age":21, "gender":"M"}]});
  • $elemMatch + 同一個(gè)元素中的鍵值組合
db.test.find({"members":{"$elemMatch":{"name":"BuleRiver1", "age":27}}});
  • $elemMatch+不同元素的鍵值組合(查不出結(jié)果
db.test.find({"members":{"$elemMatch":{"name":"BuleRiver1", "age":23}}});

F. 正則:模糊查詢:/.* .*/

 db.users.find( { name:/.*feng.*/ })
  • ??描述:查找?name 包含 feng?的文檔

【DBA課程-筆記】第2章:MongoDB數(shù)據(jù)數(shù)據(jù)查詢與分析,架構(gòu)師之路-java,筆記,mongo,DBA

G. 正則:以xx開頭:/^?.*/

 db.users.find( { name:/^zhang.*/ })
  • ??描述:查找?name 以?zhang 開頭的文檔

【DBA課程-筆記】第2章:MongoDB數(shù)據(jù)數(shù)據(jù)查詢與分析,架構(gòu)師之路-java,筆記,mongo,DBA

H. 正則:以xx結(jié)尾:/.* $/

 db.users.find( { name:/.*g$/ })
  • ??描述:查找?name 以?g 結(jié)尾的文檔

【DBA課程-筆記】第2章:MongoDB數(shù)據(jù)數(shù)據(jù)查詢與分析,架構(gòu)師之路-java,筆記,mongo,DBA

7. MongoDB 數(shù)據(jù)查詢嵌套數(shù)組文檔

  • 造數(shù)據(jù),其中?{}表示新的文檔
db.users.insert([
{name:'ali',age:51,address:{country:'china',city:'beijing',district:'haidian',dd:'zhongguancunroad 10'}}
{name:'baby',age:51,address:{country:'china',city:'hangzhou',district:'xihu',dd:'zhongguancunroad 10'}}
{name:'baby2',age:17,address:{country:'china',city:'hangzhou',district:'xihu',dd:'zhongguancunroad 10'}}
{name:'baby3',age:18,address:{country:'china',city:'hangzhou',district:'xihu',dd:'zhongguancunroad 10'}}
{name:'xiaowang',age:19,address:{country:'china',city:'shanghai',district:'pudong',dd:'sjtu park 10'}}
])

db.orders.insert([
{name:"frank",items:[{title:"mongodb",count:1},{title:"java",count:3}]},
{name:"xulei",items:[{title:"iphone 8p",count:2}]},
{name:"wangsicong",items:[{title:"RR",count :1},{title:"Benz",count:10}]}]);

A. 文檔嵌套:?jiǎn)螚l件查詢

db.users.find({"address.country":'china'})
  • ??描述:查 "address.country"='china' 的文檔

【DBA課程-筆記】第2章:MongoDB數(shù)據(jù)數(shù)據(jù)查詢與分析,架構(gòu)師之路-java,筆記,mongo,DBA

B. 文檔嵌套:多條件查詢(and)

db.users.find({"address.country":'china',"address.city":"hangzhou",age:{$gte:18}})
  • 查??"address.country"='china'
  • 且??"address.city"="hangzhou"
  • 且? ?age≥18

【DBA課程-筆記】第2章:MongoDB數(shù)據(jù)數(shù)據(jù)查詢與分析,架構(gòu)師之路-java,筆記,mongo,DBA

三、映射Project 與 過濾

作用對(duì)查詢結(jié)果的過濾

  • 如:查詢后加,{name:1} ,表示只顯示 name字段

【DBA課程-筆記】第2章:MongoDB數(shù)據(jù)數(shù)據(jù)查詢與分析,架構(gòu)師之路-java,筆記,mongo,DBA

  • 查詢后加,{name:1,age:1} ,表示只顯示 name + age 字段

【DBA課程-筆記】第2章:MongoDB數(shù)據(jù)數(shù)據(jù)查詢與分析,架構(gòu)師之路-java,筆記,mongo,DBA

  • 如:查詢后加,{age:0} ,表示不顯示 age字段

【DBA課程-筆記】第2章:MongoDB數(shù)據(jù)數(shù)據(jù)查詢與分析,架構(gòu)師之路-java,筆記,mongo,DBA

  • 注意: 1 和 0不能同時(shí)使用,如?name:1,age:0 ,否則會(huì)報(bào)錯(cuò)

【DBA課程-筆記】第2章:MongoDB數(shù)據(jù)數(shù)據(jù)查詢與分析,架構(gòu)師之路-java,筆記,mongo,DBA

四、去除重復(fù) Distinct

作用對(duì)查詢結(jié)果去重,并不會(huì)刪除原文檔

db.users.distinct("city")
db.users.distinct("address.city")

【DBA課程-筆記】第2章:MongoDB數(shù)據(jù)數(shù)據(jù)查詢與分析,架構(gòu)師之路-java,筆記,mongo,DBA

五、聚合分組統(tǒng)計(jì) Group By

A.??三種方式

  • 聚合函數(shù)?
  • 聚合管道
  • MapReduce非常適用于大數(shù)據(jù)分析, 如基于java的hadoop

【DBA課程-筆記】第2章:MongoDB數(shù)據(jù)數(shù)據(jù)查詢與分析,架構(gòu)師之路-java,筆記,mongo,DBA

B:聚合函數(shù) ( 了解即可

【DBA課程-筆記】第2章:MongoDB數(shù)據(jù)數(shù)據(jù)查詢與分析,架構(gòu)師之路-java,筆記,mongo,DBA

?注意:4.2.1中已經(jīng)不支持 group( db.users.help() 查詢沒有g(shù)roup函數(shù)

【DBA課程-筆記】第2章:MongoDB數(shù)據(jù)數(shù)據(jù)查詢與分析,架構(gòu)師之路-java,筆記,mongo,DBA

1.?分組統(tǒng)計(jì)不同年齡段的用戶
db.users.group(
 {
   key: { age: 1 },
   cond:{ age:{$gt:16 }},
   reduce:function(curr, result) {
        result.total += 1;
        },
   initial: { total : 0 }
 }
)
2. 分組統(tǒng)計(jì)不同用戶的訂單總額

【DBA課程-筆記】第2章:MongoDB數(shù)據(jù)數(shù)據(jù)查詢與分析,架構(gòu)師之路-java,筆記,mongo,DBA文章來源地址http://www.zghlxwxcb.cn/news/detail-550583.html

C:聚合管道

D:MapReduce (非常適用于大數(shù)據(jù)分析,如基于java的hadoop

到了這里,關(guān)于【DBA課程-筆記】第2章:MongoDB數(shù)據(jù)數(shù)據(jù)查詢與分析的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • python mongodb數(shù)據(jù)查詢

    要在Python中執(zhí)行MongoDB查詢,需要使用MongoDB的官方Python驅(qū)動(dòng)程序——PyMongo。首先,您需要安裝PyMongo,然后連接到MongoDB數(shù)據(jù)庫,執(zhí)行查詢操作。 安裝PyMongo: 使用PyMongo連接到MongoDB 如果MongoDB需要用戶名和密碼進(jìn)行身份驗(yàn)證,請(qǐng)使用PyMongo的MongoClient構(gòu)造函數(shù)提供這些憑據(jù)來連接

    2024年02月07日
    瀏覽(20)
  • 整理mongodb文檔:find方法查詢數(shù)據(jù)

    整理mongodb文檔:find方法查詢數(shù)據(jù)

    整理mongodb文檔:find方法查詢數(shù)據(jù) 求關(guān)注,求批評(píng),求指出,如果哪兒不清晰,請(qǐng)指出來,謝謝 如題,本文講的是如何用find查詢數(shù)據(jù),如何在數(shù)組、字段、對(duì)象中查詢,以及‘或’等查詢操作,最后講了一些參數(shù)。依舊是在shell下操作。 查詢數(shù)據(jù)是db操作中很重要的一步,而

    2024年02月13日
    瀏覽(21)
  • 基于MongoDB的空間數(shù)據(jù)存儲(chǔ)與查詢

    MongoDB 中使用 GeoJSON對(duì)象 或 坐標(biāo)對(duì) 描述空間地理數(shù)據(jù)。MongoDB使用 WGS84 參考系進(jìn)行地理空間數(shù)據(jù)查詢。 1、MongoDB支持空間數(shù)據(jù)的存儲(chǔ),數(shù)據(jù)類型需要限制為GeoJSON; 2、MongoDB可以為GeoJSON類型數(shù)據(jù)建立索引,提升空間查詢的效率; GeoJSON 對(duì)象格式 GeoJSON 對(duì)象有兩個(gè)filed,分別是 ty

    2024年02月11日
    瀏覽(13)
  • openGauss學(xué)習(xí)筆記-195 openGauss 數(shù)據(jù)庫運(yùn)維-常見故障定位案例-分析查詢語句運(yùn)行狀態(tài)

    openGauss學(xué)習(xí)筆記-195 openGauss 數(shù)據(jù)庫運(yùn)維-常見故障定位案例-分析查詢語句運(yùn)行狀態(tài)

    195.1 分析查詢語句運(yùn)行狀態(tài) 195.1.1 問題現(xiàn)象 系統(tǒng)中部分查詢語句運(yùn)行時(shí)間過長(zhǎng),需要分析查詢語句的運(yùn)行狀態(tài)。 195.1.2 處理辦法 以操作系統(tǒng)用戶omm登錄主機(jī)。 使用如下命令連接數(shù)據(jù)庫。 postgres為需要連接的數(shù)據(jù)庫名稱,8000為端口號(hào)。 設(shè)置參數(shù)track_activities為on。 當(dāng)此參數(shù)為

    2024年01月15日
    瀏覽(35)
  • 數(shù)據(jù)庫信息速遞  MONGODB 6.0 的新特性,更多的查詢函數(shù),加密查詢,與時(shí)序數(shù)據(jù)集合 (譯)...

    數(shù)據(jù)庫信息速遞 MONGODB 6.0 的新特性,更多的查詢函數(shù),加密查詢,與時(shí)序數(shù)據(jù)集合 (譯)...

    開頭還是介紹一下群,如果感興趣polardb ,mongodb ,mysql ,postgresql ,redis 等有問題,有需求都可以加群群內(nèi)有各大數(shù)據(jù)庫行業(yè)大咖,CTO,可以解決你的問題。加群請(qǐng)聯(lián)系 liuaustin3 ,在新加的朋友會(huì)分到3群(共1000人左右 1 + 2 + 3),最近發(fā)展的速度比較快,2群除特殊情況,不在添加

    2024年02月16日
    瀏覽(18)
  • 【數(shù)據(jù)庫】通過實(shí)例講清楚,Mongodb的增刪查改,分組查詢,聚合查詢aggregate

    【數(shù)據(jù)庫】通過實(shí)例講清楚,Mongodb的增刪查改,分組查詢,聚合查詢aggregate

    目錄 一.基礎(chǔ)概念 二.數(shù)據(jù)庫的管理 1.創(chuàng)建數(shù)據(jù)庫 2.刪除數(shù)據(jù)庫 二.集合的管理 1.顯示所有集合 2.創(chuàng)建集合 3.刪除當(dāng)前集合 4.向集合中插入元素 三.文檔的管理 1.文檔插入 2.文檔的更新 3.文檔的刪除 4.文檔查詢 (1)查詢基本語法: (2)查詢table2集合下的所有文檔 (3)查詢t

    2024年02月10日
    瀏覽(13)
  • openGauss學(xué)習(xí)筆記-198 openGauss 數(shù)據(jù)庫運(yùn)維-常見故障定位案例-分析查詢效率異常降低的問題

    openGauss學(xué)習(xí)筆記-198 openGauss 數(shù)據(jù)庫運(yùn)維-常見故障定位案例-分析查詢效率異常降低的問題

    198.1 分析查詢效率異常降低的問題 198.1.1 問題現(xiàn)象 通常在幾十毫秒內(nèi)完成的查詢,有時(shí)會(huì)突然需要幾秒的時(shí)間完成;而通常需要幾秒完成的查詢,有時(shí)需要半小時(shí)才能完成。 198.1.2 處理辦法 通過下列的操作步驟,分析查詢效率異常降低的原因。 使用analyze命令分析數(shù)據(jù)庫。

    2024年01月16日
    瀏覽(26)
  • 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)-宿舍管理查詢軟件-(C/C++)

    數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)-宿舍管理查詢軟件-(C/C++)

    目錄 1. 系統(tǒng)需求分析 ? ? ?1.1 設(shè)計(jì)理由與意義 ? ? ?1.2 功能需求分析 ? ? ?1.3 數(shù)據(jù)需求分析 2. 系統(tǒng)設(shè)計(jì) ? ? ? 2.1 數(shù)據(jù)結(jié)構(gòu)類型設(shè)計(jì) ? ? ? 2.2 整體功能結(jié)構(gòu)設(shè)計(jì) ? ? ?2.3 子模塊詳細(xì)設(shè)計(jì) ? ? ? 2.4 程序流程圖設(shè)計(jì) 3.系統(tǒng)實(shí)現(xiàn) ? ? ? 3.1 系統(tǒng)源代碼 4.運(yùn)行效果截圖(部分)

    2024年02月05日
    瀏覽(24)
  • 分布式數(shù)據(jù)庫NoSQL(四)——MongoDB 之聚合函數(shù)查詢統(tǒng)計(jì)

    分布式數(shù)據(jù)庫NoSQL(四)——MongoDB 之聚合函數(shù)查詢統(tǒng)計(jì)

    MongoDB 中聚合( aggregate )主要用于處理數(shù)據(jù)(諸如統(tǒng)計(jì)平均值,求和等),并返回計(jì)算后的數(shù)據(jù)結(jié)果,通常由聚合管道操作符和聚合表達(dá)式組合,完成數(shù)據(jù)處理。功能有點(diǎn)類似 Sql 語句中的 sum()、agv() 等。 目錄 第1關(guān):聚合管道操作符將文檔定制格式輸出(一) 常用聚合管道操作符

    2024年02月09日
    瀏覽(23)
  • 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)——電話號(hào)碼查詢系統(tǒng)(C語言)

    數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)——電話號(hào)碼查詢系統(tǒng)(C語言)

    1、通過文件導(dǎo)入和手動(dòng)輸入兩種方式錄入個(gè)人的基本信息(姓名、電話、QQ、微信) 2、可通過輸入姓名或者電話號(hào)碼來查詢錄入的人的基本信息 3、也可通過該系統(tǒng)修改和刪除信息 1、菜單界面 ?2、讀取文件(這里需要先創(chuàng)建一個(gè)txt文件) ?3、手動(dòng)添加信息 ?4、查詢個(gè)人信

    2024年02月11日
    瀏覽(31)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包