<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      Nosql之Mongodb 2 高級查詢

      接上文

      http://www.rzrgm.cn/zhaoyang/archive/2012/01/09/2317505.html

       

      接上文…………

      高級查詢

      find()

      1 查詢所有記錄

               db.users.find()

      2 查詢name為apple的記錄

               db.users.find({“name”:”apple”})

      3 查詢country為china,gender為1的記錄

               db.users.find({“country”:”china”,” gender”:1})

       

      限制結(jié)果集

      對應(yīng)到標準sql, 之前是select * from, 現(xiàn)在需要的是select name from …

      1 查詢name為apple,并且結(jié)果只顯示name

               db.users.find({“name”:”apple”}, {“name”:true})

       

      ---------------------------------------------------------------------------------------------------------------------------

      注:后面這個參數(shù){name:true}代表只顯示name,如果有一個設(shè)置true,那么其他未設(shè)置的都是默認false,但是_id字段是默認true的,如果不想顯示_id,可以這么寫:

      db.users.find({“name”:”apple”}, {“name”:true,” _id”:false})

      ---------------------------------------------------------------------------------------------------------------------------

       

      2 查詢所有記錄,并且結(jié)果只顯示name和country

               db.users.find(null, {“name”:true, “country”:true, “_id”:false})

      findOne()

      顧名思義,只顯示查詢到的第一條記錄,類似于select top 1 …

      db.users.findOne({“gender”:0})

      limit()

      類似于sqlserver中的top

               db.users.find({“gender”:0}).limit(2);

      條件操作符 <, <=, >, >=, !=

      $lt   小于      (less than)

      $lte  小于等于  (less than equals)

      $gt   大于      (greater than)

      $gte  大于等于  (greater than equals)

      $ne  不等于    (not equals)

       

      查出age大于30的記錄

      db.users.find({“age”:{$gt:30}})

      查出age>=30 且 <=40的記錄

               db.users.find({“age”:{$gt:30, $lt:40}})

      $exists

      用于判斷字段是否存在,比如我們向users集合里面添加一條記錄,只有name屬性

      db.users.insert({name:”testExists”})

       

      現(xiàn)在我們查出不存在age字段的記錄

      db.users.find({“age”:{$exists:false}})

       

      查出有age字段但沒有g(shù)ender字段的記錄

      db.users.find({“age”:{$exists:true},” gender”:{$exists:false}})

      null值的處理

      需要注意的null與exists的區(qū)別

      null指的是字段為空或者字段不存在

      exists指的是字段是否存在

       

      比較下面兩條記錄

      {“name”:null,” age”:44}

      {“age”:45}

       

      如果使用null查詢  db.xxx.find({name:null}) 則會查出上面兩條記錄

      但是我們只想找出存在name字段并且其為空的記錄,可以這么查詢

      db.xxx.find({“name”:{$exists:true, $in:[null]}});

       

      $mod

      取模,比如我們查詢年齡取模10等于1的記錄,應(yīng)該是年齡為1,11,21,…

      db.users.find({“age”:{$mod:[10,1]}})

      $in & $nin

      這個類似于標準sql的in與not in

       

      查詢age為23或者24的記錄

      db.users.find({“age”:{$in:[23, 24]}})

       

      查詢age不為23或者24的記錄

      db.users.find({“age”:{$nin:[23, 24]}})

      $not

      可以用在任何其他條件之上

      db.users.find({$not:{“age”:{$gt:25}}})

      $or

      查詢年齡為32或者name為zhangsan的記錄

      db.users.find({$or:[{“name”:”zhangsan”}, {“age”:32}]})

      數(shù)組操作

      假設(shè)我們有下面兩個document

      ${“name”:”zhangsan”,” booksNumber”:[101, 102, 103]}

      ${“name”:”lisi”, “booksNumber”:[101, 103]}

      $all

      db.users.find({“booksNumber”:{$all:[101, 102]}});

      那么就能查出第一條記錄,它需要滿足里面所有的條件

      $size

      我們需要查詢只有booksNumber里面只有兩個的記錄

      db.users.find({“booksNumber”:{$size:2}})

      count()

      查詢總記錄數(shù)

      db.users.find().count()

       

      注:如果我們使用了limit

      db.users.find().limit(3).count() 這里是取前三條記錄,但是調(diào)用count()后還是顯示總記錄數(shù),如果我們需要返回被限制后的記錄數(shù)

      db.users.find().limit(3).count(true)即可

      sort()

      這也是個顧名思義的操作,排序: 1 代表升序  -1  代表降序

       

      按名字進行升序排序

      db.users.find().sort({name:1})

       

      先按名字升序,再按年齡降序

      db.users.find().sort({name:1, age:-1})

      distinct()

      查詢年齡小于等于50所有的name并去除重復(fù)

      db.users.distinct(“name”, {“age”:{$lte:50}})

      skip()

      這一特性通常用于分頁

      跳過三條記錄并取之后的三條記錄

      db.users.find().skip(3).limit(3)

      查詢內(nèi)嵌文檔

      比如要查詢這么一條記錄:

      { “books”:{“bookid”:100, “bookname”:”english”} }

       

      db.users.find({“books.bookid”:100});

      使用正則表達式

      使用正則表達式也是mongodb非常強大的特性

      比如我們使用正則表達式對name進行過濾

      db.users.find({“name”:/^[fc]{1}/})

      $where

      可以使用javascript代碼進行查詢,這使得查詢幾乎能做任何事情

       

      db.users.find({$where:function() {

               //this指遍歷到的當(dāng)前的document

               //根據(jù)return true or false來判斷此document是否滿足find的條件

               if(this.name == “zhangsan”) {

                         return true;

               }

               for(var prop in this) {

                         if(this[prop] == “123”) {

                                  return true;

                         }

      }

      return false;

      }});

       

      下一篇將介紹游標以及存儲過程

       

      posted on 2012-01-10 01:23  陽陽多  閱讀(17345)  評論(1)    收藏  舉報

      主站蜘蛛池模板: 4hu44四虎www在线影院麻豆| 亚洲精品人妻中文字幕| 亚洲老熟女乱女一区二区| 99无码中文字幕视频| 国产免费高清69式视频在线观看| 免费国产精品黄色一区二区| 一区二区三区激情都市| 无码熟妇人妻av在线电影| 日日碰狠狠躁久久躁96avv| 蜜臀av日韩精品一区二区| 国产午夜福利精品久久不卡| 日韩幕无线码一区中文| 欧美日本精品一本二本三区| 国产一卡2卡3卡4卡网站精品| 亚洲国产另类久久久精品网站| 无线乱码一二三区免费看| 国产高清视频一区二区三区| 人妻精品动漫h无码| 熟妇无码熟妇毛片| 国产精品国产精品无卡区| 国产区免费精品视频| 麻豆国产传媒精品视频| 色伦专区97中文字幕| 欧美一本大道香蕉综合视频| 亚洲人ⅴsaⅴ国产精品| 精品久久久久久国产| 亚洲AV高清一区二区三区尤物| 午夜综合网| 亚洲av高清一区二区三| 国产无码高清视频不卡| 免费无码va一区二区三区| 精品视频在线观看免费观看| 国产人妻人伦精品1国产丝袜| 成人免费无码大片a毛片| 91高清免费国产自产拍| 国产无码高清视频不卡| 香蕉久久久久久久av网站| 亚洲av无码乱码在线观看野外| 国产二区三区不卡免费 | 乱60一70归性欧老妇| 久久精品国产99亚洲精品|