MongoDB 之 Limit 選取 Skip 跳過 Sort 排序 MongoDB - 7
我們已經學過MongoDB的 find() 查詢功能了,在關系型數據庫中的選取(limit),排序(sort) MongoDB中同樣有,而且使用起來更是簡單
首先我們看下添加幾條Document進來
現在有四條Document 根據它們, 對 Limit Skip Sort 分別展開學習 最後來一個 大雜燴
1. Limit 選取 : 我要從這些 Document 中取出多少個
做個小例子 : 我只要 2 條 Document
結果是很明顯的,很赤裸裸的,很一絲不掛的
但是我還是要解釋一下 : limit(2) 就是選取兩條Document, 從整個Collection的第一條 Document 開始選取兩條
如果我們不想從第一條Document開始選取,怎麽辦呢?
2.Skip 跳過 : 我要跳過多少個Document
做個小例子 : 我要跳過前兩個 Document 直接從第三個Document 開始
結果還是很明顯,很赤裸
按照國際慣例解釋一下 : skip(2) 就是跳過兩條Document, 從整個Collection 的第一條 Document 開始跳,往後跳兩條
另一個例子 : 跳過第一條 直接從 第二條 開始
問題來了,我只想要第二條和第三條怎麽處理呢?
3.Limit + Skip : 從這兒到那兒 的 選取
就是剛才的問題,一個小例子 : 我只想要第二條和第三條怎麽處理呢
國際慣例 : 跳過第一條Document 從第二條開始選取兩條 Document
別著急,還有另一種寫法
兩種寫法完全得到的結果完全一樣但是國際慣例的解釋卻不同
國際慣例 : 選取兩條Document 但是要 跳過 第一條Document 從 第二條 開始 選取
繞了半天,都暈了,註意這裏特別要註意了!!!!!! 這裏的兩種寫法,一定一定一定要記住一個,因為只要記住一個就行了,完全完全沒區別,一個符合中國人的理解,一個是其他國家的理解
4. Sort 排序 : 將結果按照關鍵字排序
做個小例子 : 將find出來的Document 按照 price 進行 升序 | 降序 排列
國際慣例 : 按照 price 字段進行升序 , 1 為升序 , -1 為降序
5. Limit + Skip + Sort 混搭來一把
一個例子 : 選取第二條第三條 並 按照 price 進行 升序排列
問題出現了, 按道理不應該是 9800 然後 19800 嗎?
知識點來嘍
重點 : Sort + Skip + Limit 是有執行優先級的 他們的界別分別是 優先 Sort 其次 Skip 最後 Limt
Skip + Limit 的優先級 也是先 Skip 再 Limit
看一次,記不住
看兩次,不會用
看三次,不如自己做一次
做一次,不如做三次
練習一下加深印象
MongoDB 之 Limit 選取 Skip 跳過 Sort 排序 MongoDB - 7