咱們已經學過MongoDB的 find() 查詢功能了,在關係型數據庫中的選取(limit),排序(sort) MongoDB中一樣有,並且使用起來更是簡單數據庫
首先咱們看下添加幾條Document進來學習
如今有四條Document 根據它們, 對 Limit Skip Sort 分別展開學習 最後來一個 大雜燴3d
1. Limit 選取 : 我要從這些 Document 中取出多少個blog
作個小例子 : 我只要 2 條 Document排序
結果是很明顯的,很赤裸裸的,很一絲不掛的ip
可是我仍是要解釋一下 : limit(2) 就是選取兩條Document, 從整個Collection的第一條 Document 開始選取兩條it
若是咱們不想從第一條Document開始選取,怎麼辦呢?io
2.Skip 跳過 : 我要跳過多少個Documentim
作個小例子 : 我要跳過前兩個 Document 直接從第三個Document 開始d3
結果仍是很明顯,很赤裸
按照國際慣例解釋一下 : 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
看一次,記不住
看兩次,不會用
看三次,不如本身作一次
作一次,不如作三次
練習一下加深印象