數據加載中……
          mongoDB的學習筆記(2)
             實驗室從去年開始接觸Nosql,不過那個時候自己不是負責這部分的所以只是介于組會的時候討論了解。后來去實習,這個東東越來越火了。以至于俺覺得自己也要去學習一下,這些天一直看這方面的東西。最大的感覺就是它組織結構的變化帶來的方便,這也是算是膚淺的感覺吧,新手一般都有這樣的體驗,至于網上一直叫好的速度快(據說比傳統的關系型數據庫快5倍左右),由于木有實戰的體驗,目前還木有深刻的認識。前段時間一直在做一個MIS系統,被數據庫折騰的卻是夠嗆,數據庫設計的人太過考慮各種范式,以至于開發困難很多。在看看mogodb確實給人煥然一新的感覺。呵呵。目前感覺就是這么多,繼續記錄一下自己的學習的筆記,這部分主要是mogodb的查詢操作。mogodb的查詢功能確實比標準的sql強大很多,特別是各種修改器和基于js函數的$where查詢。
          ----start----

          Mongodb的查詢操作

          1、查詢全部集合

          db.myMongodb.post.find() 

          如果是console的話,默認顯示20條記錄

          2、返回指定的鍵

          db.myMongodb.post.find({}, {"foo" : 1, "baz" : 1})

          返回鍵foo和健baz,同時默認返回_id鍵的值

          3、指定不返回的鍵

          db.myMongodb.post.find({}, {"foo" : 0})

          返回除foo之外的其他鍵

          4、判定條件查詢

          a) “$lt” 小于

          b) “$lte”小于等于

          c) “$gt”大于

          d) “$gte”大于等于

          e) “$ne”不等于

          db.myMongodb.user.find({"age" : {"$gte" : 18, "$lte" : 30}})

          5、其他條件查詢

          a) “$in” :是否在某一個集合的查詢

          db.myMongodb.user.find({"age" : {"$in" : [17,18,19]}})

          b) “$nin”:與in相對應,不處于某個結合的文檔

          c) “$or”:多條件查詢

          db.myMongodb.user.find({"$or" : [{"age" : 17}, {"age" : 18}]})

          d) “$not”非的情況下使用。其他條件可以基于它

          e) “$mod”取模查詢

          f) “$null”可以匹配值為null的字段,同時也能匹配鍵不存在的文檔

          如果同時要判定鍵存在,需要加上"$exists" 判定

          6、查詢數組

          a) “$all” 通過多個元素匹配數組

          db.myMongodb.food.find({"fruit" : {"$all" : ["apple", "oracle"]}})

          b) 數組下標匹配

          db.myMongodb.food.find({"fruit.2" :  "peach"})

          c) "$size"數組長度匹配 

          db.myMongodb.food.find("fruit" : {"$size" : 3})

          7、"$slice"指定返回集合的個數

          db.myMongodb.posts.find(criteria, {"$silce" : n})

          n = 10 返回前10條記錄

          n = -10 返回后10條記錄

          n = [23, 10] 返回從23條記錄開始的10條記錄,感覺應該可以做分頁

          8、采用點表示法查詢內嵌文檔(推薦)

          db.myMongodb.find({"name.first" : "Wang", "name.last" : "Hai"})

          9、采用分層的方式查詢

          db.myMongodb.find({"name" : {"first" : "Wang, "last" : "Hai""}})

          10、$where查詢

          $where查詢非常強大,它可以添加js的函數實現高級的查詢功能。

          基本樣式如下:

          db.myMongodb.find({"$where" : function() {}})

          如果function返回true,該記錄就返回。否則就不返回。

          【對js不夠熟悉。。面壁去了】

          posted on 2011-12-01 17:21 潘潘.eagle 閱讀(1871) 評論(0)  編輯  收藏 所屬分類: mongoDB


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 宝丰县| 辽阳市| 荥阳市| 米脂县| 竹北市| 海南省| 读书| 洪雅县| 通化市| 大悟县| 南溪县| 普宁市| 赤水市| 赫章县| 腾冲县| 紫金县| 聂拉木县| 大余县| 达拉特旗| 桐庐县| 彭水| 剑河县| 吉安市| 共和县| 防城港市| 闵行区| 永昌县| 如皋市| 花莲市| 重庆市| 白沙| 东宁县| 浏阳市| 彭水| 樟树市| 巴南区| 五指山市| 镇远县| 察隅县| 潞西市| 特克斯县|