真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

MONGODB如何查詢晉級

今天就跟大家聊聊有關(guān)MongoDB如何查詢晉級,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。

創(chuàng)新互聯(lián)公司專注于大通網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗。 熱誠為您提供大通營銷型網(wǎng)站建設(shè),大通網(wǎng)站制作、大通網(wǎng)頁設(shè)計、大通網(wǎng)站官網(wǎng)定制、小程序設(shè)計服務(wù),打造大通網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供大通網(wǎng)站排名全網(wǎng)營銷落地服務(wù)。

MONGODB的使用最近是越來越“不慌張”,某網(wǎng)站上關(guān)于MONGODB 部分替換傳統(tǒng)數(shù)據(jù)庫表的設(shè)計的思路是越來越多,其實mongoDB 可以做的事情很多,不過目前的問題是開發(fā)人員可能使用MONGODB 思路還處于萌芽的狀態(tài),另外可能一些 SQL 到 MONGO FIND 的查詢語句不大熟悉,其實MONGO FIND 的寫法不復(fù)雜,有些SQL 的高級查詢 MONGODB 大多數(shù)都是么有問題,有問題也大多是人在設(shè)計MONGODB 的collection 的問題,不過這也不是什么問題,加個字段,7*24 小時,對其他的業(yè)務(wù)系統(tǒng),加一個字段考慮的問題頗多,而MONGO 大多不用考慮,這點是令人欣慰的。

接上期,本期MONGODB 查詢也得復(fù)雜一點了。

有興趣可以看看JSON的整體格式規(guī)范,1個小時就OK了

首先我們的有一個查詢的數(shù)據(jù)基礎(chǔ),這樣在討論起來才有的說

MONGODB如何查詢晉級

上面就是本次要discuss的數(shù)據(jù),當(dāng)然不是這一條,僅僅展示大致的格式

接上期說

需求1 需要查詢 qty 為 50 的數(shù)據(jù),途中的查詢語句很清晰,大括號里面的中括號,鍵值用雙引號引起,之后跟上你的要查詢的數(shù)據(jù)

select * from inventory where qty = 50 這樣的傳統(tǒng)SQL 的寫法

需求2 傳統(tǒng)的DBA 會對上面的寫法說點什么,不能用* ,用哪個字段就要寫哪個字段,MONGO 也是一樣,請在查詢結(jié)果中緊緊展示 qty 其他字段都不展示, 寫法就是在剛才的查詢后面添加一個條件過濾的方式,需要顯示的字段標記 1 不需要顯示的顯示標記0

select    qty from inventory where qty = 50

MONGODB如何查詢晉級

需求3 顯示SIZE 字段中 H 屬性為 10的數(shù)據(jù)

select item,qty,size from inventory where size.h = 10

如果數(shù)據(jù)里面有嵌套,則需要從根部的節(jié)點開始寫起

需求 4 我們查詢 SIZE.H 大于等于10 的并且 ITEM 是PLANNER 的數(shù)據(jù)

select item,qty,size.h,size.w from inventory where size,h >= 10 and item = "planner"

需求5 有一些需求在傳統(tǒng)的數(shù)據(jù)庫中是不存在的,你可以查詢字段是不是為 NULL ,空,但你在已經(jīng)固化好的表SCHEMA 中,你是不會問每行的數(shù)據(jù)的字段是不是存在,但MONGODB 的字段在每一個 document 可能是不存在的。所以下面的語句在傳統(tǒng)的數(shù)據(jù)庫中是沒有可比性的

下面的查詢就是查詢 status 這個KEY 存在于 inventory collection 的具體記錄,當(dāng)然你也可以查詢到底有多少 docuemnts 存在在這個collection的數(shù)量。

計算collection中有多少 有status 這個KEY的documents 的數(shù)量

非要用傳統(tǒng)的SQL 語句表達,select count(*) from inventory as a where status is not null (只能是貼近,因為其實用IS NOT NULL 表達不準確)

MONGODB如何查詢晉級

需求6  如果我們要查詢一個數(shù)值的范圍,怎么查詢,這里面的提醒有些 DEVELOPER ,就算是MONGODB 的SCHEMA 你也不能想一出是一出,如果你后期的查詢的數(shù)值是用 RANGE 的方式查詢的,建議還是使用非,“”雙引號的字符來進行,這樣以后處理起來,性能上不是很好。

select item,qty,size.h,size.w from inventory where qty between 45 and 50

需求 7 傳統(tǒng)查詢中的 IN 是用的比較多,怎么來用MONGODB 的方式來表達

select item,qty,size.h,size.w from inventory where qty in (45,50)

需求 8 排序和 輸出前幾條數(shù)據(jù)

限制顯示數(shù)據(jù)的數(shù)據(jù)量,在末尾加入.limit(顯示數(shù)量) ,和SQL SERVER  top ,MySQL 的 limit , ORACLE rownum 一樣

排序的方法也是很簡單,在查詢的語句后面加上sort({你要排序的字段以及你是正序還是倒序}), 這里建議如果沒有必要,不要進行排序。

需求9 最后我們看一下,一個比較不常見的document,這是一個數(shù)組中包含嵌套的數(shù)據(jù)存儲方式,且不說這樣好不好,我們現(xiàn)在的需求就是查詢 TAGS 中type2 是 IRON 的記錄

下面是這個document的格式

MONGODB如何查詢晉級

查詢方法 需要使用特殊的 elemMatch查詢方法,來查詢這樣的需求

看完上述內(nèi)容,你們對MONGODB如何查詢晉級有進一步的了解嗎?如果還想了解更多知識或者相關(guān)內(nèi)容,請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝大家的支持。


分享文章:MONGODB如何查詢晉級
鏈接URL:http://weahome.cn/article/poijdh.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部