MongoDB查詢運算式

來源:互聯網
上載者:User

一、比較子

運算子 對應到mysql的運算子
$gt >
$gte >=
$in in
$lt <
$lte <=
$ne !=
$nin not in
$all 無對應項,指數組所有單元匹配都有,用法同$in,$nin
文法格式:{列名:{$gt:value}}{列名:{$ne:value}}{列名:{$in:[value1,value2,value3....]}}  備忘:

二、邏輯運算子

運算子 對應到mysql的運算子
$or or
$and and
$not not
$nor 無對應項,指”所有列舉條件都不成立,則為真”
文法格式:{$and:[{列:{$gte:value1}},{列:{$gle:value2}}]}{$nor:[{列:value1},{列:value2},{列:value3}....]}

三、元素運算子

名字 描述
$exists 某列存在則為真
$mod 滿足某求餘條件則為真
$type 資料為某類型則為真
某一列是否存在 {列:{$exists:1}}  #1表示存在取5倍數的列: {列:{$mod:[5,0]}}  #[5,0]表示對5進行求餘,餘數為0類型  {列:{$type:2}}類型值從1到19,還有-1和127對應的資料類型請查看官方文檔:https://docs.mongodb.com/manual/reference/operator/query/type/index.html

四、js運算子(1)

名字 描述
$where js運算式為真則為真
$regex Regex匹配則為真
$where 和 $regex 是將所有的的bson先轉化為json對象,再供js引擎查詢,消耗記憶體比較大適合少量資料查詢,一般情況下不建議用文法格式:{$where:'this.列 > value1 && this.列 < value2....'}  {列:{$regex:/pattern/<options> }}例如:{ name: { $regex: /acme.*corp/i, $nin: [ 'acmeblahcorp' ] } }{ name: { $regex: /acme.*corp/, $options: 'i', $nin: [ 'acmeblahcorp' ] } }{ name: { $regex: 'acme.*corp', $options: 'i', $nin: [ 'acmeblahcorp' ] } }

五、js運算子(2)

名字 描述
$inc 增長
$rename 重新命名列
$setOnInsert 當upsert時,設定欄位的值
$set 設定欄位的新值
$unset 刪除指定的列
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.