MongoDB學習筆記02

來源:互聯網
上載者:User

標籤:

MongoDB中使用find來進行查詢,查詢就是返回一個集合中文檔的子集,子集合的範圍從0個文檔到整個集合。find的第一個參數決定了要返回哪些文檔。空的查詢文檔{}會匹配集合的全部內容,要是不指定查詢文檔,預設就是{}。

MongoDB查詢使用上還是有些限制的,資料庫所關係的查詢文檔的值必須是常量,也就是不能引用文檔中其它鍵的值。

查詢條件 "$lt"、"$lte"、"$gt"、"$gte"、"$ne"就是全部的比較操作符,分別對應<、<=、>和>=與"不相等";

"$in" 用來查詢索引值在某個範圍內值   "$nin" 用來查詢索引值不在某個範圍內的值

"$or" 接受一個包含所有可能條件的數組作為參數

"$mod" 模數運算子,會將查詢的值除以第一個給定值,若餘數等於第二個給定值則返回該結果

"$not" 查詢與特定模式不符的文檔

一個鍵可以有多個條件,但一個鍵不能對應多個更新修改器

null不僅僅匹配自身而且匹配“不存在的”,這種匹配還會返回缺少這個鍵的所有文檔

如果僅僅想要匹配索引值為null的文檔,既要檢查該鍵的值是否為null,還要通過“$exists”條件判斷索引值是否存在

MongoDB使用Perl相容的Regex(PCRE)庫來匹配Regex,PCRE支援的Regex文法都能被MongoDB接受,在使用Regex前,可以現在JavaScrip shell中檢查一下文法

如果需要通過多個元素來匹配數組,就要使用"$all"

 “$size”可以用其查詢指定長度的數組

“$slice”返回數組的一個子集合,可以接受位移值和要返回的元素的數量,除非特別聲明,否則返迴文檔中的所有鍵

查詢內嵌文檔有兩種方法:查詢這個文檔,或只針對其鍵/值對進行查詢

查詢整個文檔要求結構與原資料完全符合(包括順序一樣)

"$elemMatch"將限定條件進行分組,僅當對一個內嵌文檔的多個鍵操作時才會用到,結果返回滿足條件的所有文檔

 "$where"可以執行任意JavaScript作為查詢的一部分,是的查詢幾乎能做任何事情,但是不是必要時要避免使用"$where"查詢,因為它在速度上要比常規查詢慢很多,每個文檔都要從BSON轉為JavaScript對象,然後通過"$where"的運算式來運行,同樣還不能使用索引

 

MongoDB學習筆記02

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.