中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

MONGODB如何查詢晉級

發布時間:2021-09-29 11:57:25 來源:億速云 閱讀:130 作者:柒染 欄目:大數據

今天就跟大家聊聊有關MONGODB如何查詢晉級,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。

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

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

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

首先我們的有一個查詢的數據基礎,這樣在討論起來才有的說

MONGODB如何查詢晉級

上面就是本次要discuss的數據,當然不是這一條,僅僅展示大致的格式

接上期說

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

select * from inventory where qty = 50 這樣的傳統SQL 的寫法

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

select    qty from inventory where qty = 50

MONGODB如何查詢晉級

需求3 顯示SIZE 字段中 H 屬性為 10的數據

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

如果數據里面有嵌套,則需要從根部的節點開始寫起

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

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

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

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

計算collection中有多少 有status 這個KEY的documents 的數量

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

MONGODB如何查詢晉級

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

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

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

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

需求 8 排序和 輸出前幾條數據

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

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

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

下面是這個document的格式

MONGODB如何查詢晉級

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


看完上述內容,你們對MONGODB如何查詢晉級有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

将乐县| 南京市| 沙田区| 陇川县| 青海省| 筠连县| 桐乡市| 怀来县| 普兰店市| 武定县| 新宾| 舟山市| 抚松县| 漾濞| 泽库县| 富裕县| 北碚区| 红安县| 景洪市| 南投县| 阿克苏市| 四子王旗| 闽侯县| 嘉定区| 麻城市| 旬邑县| 长寿区| 德庆县| 焦作市| 怀远县| 科技| 社会| 山丹县| 甘洛县| 呼伦贝尔市| 古丈县| 莱西市| 且末县| 茶陵县| 南投市| 安庆市|