1. 程式人生 > >MongoDB 之 Limit 選取 Skip 跳過 Sort 排序 MongoDB - 7

MongoDB 之 Limit 選取 Skip 跳過 Sort 排序 MongoDB - 7

想要 但是 人的 怎麽 解釋 price fin image limit

我們已經學過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