• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            xiaoguozi's Blog
            Pay it forword - 我并不覺的自豪,我所嘗試的事情都失敗了······習慣原本生活的人不容易改變,就算現狀很糟,他們也很難改變,在過程中,他們還是放棄了······他們一放棄,大家就都是輸家······讓愛傳出去,很困難,也無法預料,人們需要更細心的觀察別人,要隨時注意才能保護別人,因為他們未必知道自己要什么·····

            shell操作數據庫:

             

              1. 超級用戶相關:

                     1. #進入數據庫admin

            use admin

                     2. #增加或修改用戶密碼

                      db.addUser('name','pwd')

                     3. #查看用戶列表

                      db.system.users.find()

                     4. #用戶認證

                      db.auth('name','pwd')

                     5. #刪除用戶

                      db.removeUser('name')

                     6. #查看所有用戶

                      show users

                     7. #查看所有數據庫

                      show dbs

                     8. #查看所有的collection

                      show collections

                     9. #查看各collection的狀態

                      db.printCollectionStats()

                    10. #查看主從復制狀態

                      db.printReplicationInfo()

                    11. #修復數據庫

                      db.repairDatabase()

                    12. #設置記錄profiling,0=off 1=slow 2=all

                      db.setProfilingLevel(1)

                    13. #查看profiling

                      show profile

                    14. #拷貝數據庫

                      db.copyDatabase('mail_addr','mail_addr_tmp')

                    15. #刪除collection

                      db.mail_addr.drop()

                    16. #刪除當前的數據庫

                      db.dropDatabase()

                   

               2. 增刪改

                     1. #存儲嵌套的對象

            db.foo.save({'name':'ysz','address':{'city':'beijing','post':100096},'phone':[138,139]})

             

                     2. #存儲數組對象

            db.user_addr.save({'Uid':'yushunzhi@sohu.com','Al':['test-1@sohu.com','test-2@sohu.com']})

             

                     3. #根據query條件修改,如果不存在則插入,允許修改多條記錄

                        db.foo.update({'yy':5},{'$set':{'xx':2}},upsert=true,multi=true)

                     4. #刪除yy=5的記錄

                        db.foo.remove({'yy':5})

                     5. #刪除所有的記錄

                        db.foo.remove()

             

               3. 索引

                     1. #增加索引:1(ascending),-1(descending)

                     2. db.foo.ensureIndex({firstname: 1, lastname: 1}, {unique: true});

                     3. #索引子對象

                     4. db.user_addr.ensureIndex({'Al.Em': 1})

                     5. #查看索引信息

                     6. db.foo.getIndexes()

                     7. db.foo.getIndexKeys()

                     8. #根據索引名刪除索引

                     9. db.user_addr.dropIndex('Al.Em_1')

             

              4. 查詢

                     1. #查找所有

                    2. db.foo.find()

                    3. #查找一條記錄

                    4. db.foo.findOne()

                    5. #根據條件檢索10條記錄

                    6. db.foo.find({'msg':'Hello 1'}).limit(10)

                    7. #sort排序

                    8. db.deliver_status.find({'From':'ixigua@sina.com'}).sort({'Dt',-1})

                     9. db.deliver_status.find().sort({'Ct':-1}).limit(1)

                    10. #count操作

                    11. db.user_addr.count()

                    12. #distinct操作,查詢指定列,去重復

                    13. db.foo.distinct('msg')

                    14. #”>=”操作

                    15. db.foo.find({"timestamp": {"$gte" : 2}})

                    16. #子對象的查找

                    17. db.foo.find({'address.city':'beijing'})

               5. 管理

                     1. #查看collection數據的大小

                     2. db.deliver_status.dataSize()

                     3. #查看colleciont狀態

                     4. db.deliver_status.stats()

                     5. #查詢所有索引的大小

                     6. db.deliver_status.totalIndexSize()

             

            5. advanced queries:高級查詢


            條件操作符 
            $gt : > 
            $lt : < 
            $gte: >= 
            $lte: <= 
            $ne : !=
            、<> 
            $in : in 
            $nin: not in 
            $all: all 
            $not:
            反匹配(1.3.3及以上版本) 

            查詢 name <> "bruce" and age >= 18 的數據 
            db.users.find({name: {$ne: "bruce"}, age: {$gte: 18}}); 

            查詢 creation_date > '2010-01-01' and creation_date <= '2010-12-31' 的數據 
            db.users.find({creation_date:{$gt:new Date(2010,0,1), $lte:new Date(2010,11,31)}); 

            查詢 age in (20,22,24,26) 的數據 
            db.users.find({age: {$in: [20,22,24,26]}}); 

            查詢 age取模10等于0 的數據 
            db.users.find('this.age % 10 == 0'); 
            或者 
            db.users.find({age : {$mod : [10, 0]}}); 

            匹配所有 
            db.users.find({favorite_number : {$all : [6, 8]}}); 
            可以查詢出{name: 'David', age: 26, favorite_number: [ 6, 8, 9 ] } 
            可以不查詢出{name: 'David', age: 26, favorite_number: [ 6, 7, 9 ] } 

            查詢不匹配name=B*帶頭的記錄 
            db.users.find({name: {$not: /^B.*/}}); 
            查詢 age取模10不等于0 的數據 
            db.users.find({age : {$not: {$mod : [10, 0]}}}); 

            #
            返回部分字段 
            選擇返回age和_id字段(_id字段總是會被返回
            db.users.find({}, {age:1}); 
            db.users.find({}, {age:3}); 
            db.users.find({}, {age:true}); 
            db.users.find({ name : "bruce" }, {age:1}); 
            0
            false, 非0為true 

            選擇返回age、address和_id字段 
            db.users.find({ name : "bruce" }, {age:1, address:1}); 

            排除返回age、address和_id字段 
            db.users.find({}, {age:0, address:false}); 
            db.users.find({ name : "bruce" }, {age:0, address:false}); 

            數組元素個數判斷 
            對于{name: 'David', age: 26, favorite_number: [ 6, 7, 9 ] }記錄 
            匹配db.users.find({favorite_number: {$size: 3}}); 
            不匹配db.users.find({favorite_number: {$size: 2}}); 

            $exists
            判斷字段是否存在 
            查詢所有存在name字段的記錄 
            db.users.find({name: {$exists: true}}); 
            查詢所有不存在phone字段的記錄 
            db.users.find({phone: {$exists: false}}); 

            $type
            判斷字段類型 
            查詢所有name字段是字符類型的 
            db.users.find({name: {$type: 2}}); 
            查詢所有age字段是整型的 
            db.users.find({age: {$type: 16}}); 

            對于字符字段,可以使用正則表達式 
            查詢以字母b或者B帶頭的所有記錄 
            db.users.find({name: /^b.*/i}); 

            $elemMatch(1.3.1
            及以上版本) 
            為數組的字段中匹配其中某個元素 

            Javascript查詢和$where查詢 
            查詢 age > 18 的記錄,以下查詢都一樣 
            db.users.find({age: {$gt: 18}}); 
            db.users.find({$where: "this.age > 18"}); 
            db.users.find("this.age > 18"); 
            f = function() {return this.age > 18} db.users.find(f); 

            排序sort() 
            以年齡升序asc 
            db.users.find().sort({age: 1}); 
            以年齡降序desc 
            db.users.find().sort({age: -1}); 

            限制返回記錄數量limit() 
            返回5條記錄 
            db.users.find().limit(5); 
            返回3條記錄并打印信息 
            db.users.find().limit(3).forEach(function(user) {print('my age is ' + user.age)}); 
            結果 
            my age is 18 
            my age is 19 
            my age is 20 

            限制返回記錄的開始點skip() 
            從第3條記錄開始,返回5條記錄(limit 3, 5) 
            db.users.find().skip(3).limit(5); 

            查詢記錄條數count() 
            db.users.find().count(); 
            db.users.find({age:18}).count(); 
            以下返回的不是5,而是user表中所有的記錄數量 
            db.users.find().skip(10).limit(5).count(); 
            如果要返回限制之后的記錄數量,要使用count(true)或者count(非0) 
            db.users.find().skip(10).limit(5).count(true); 

            分組group() 
            假設test表只有以下一條數據 
            { domain: "www.mongodb.org" 
            , invoked_at: {d:"2009-11-03", t:"17:14:05"} 
            , response_time: 0.05 
            , http_action: "GET /display/DOCS/Aggregation" 

            使用group統計test表11月份的數據count:count(*)、total_time:sum(response_time)、avg_time:total_time/count; 
            db.test.group( 
            { cond: {"invoked_at.d": {$gt: "2009-11", $lt: "2009-12"}} 
            , key: {http_action: true} 
            , initial: {count: 0, total_time:0} 
            , reduce: function(doc, out){ out.count++; out.total_time+=doc.response_time } 
            , finalize: function(out){ out.avg_time = out.total_time / out.count } 
            } ); 



            "http_action" : "GET /display/DOCS/Aggregation", 
            "count" : 1, 
            "total_time" : 0.05, 
            "avg_time" : 0.05 
            }
            ]


            windows 服務啟動:
            E:\APMServ5.2.6\MongoDb\bin>mongod --logpath E:\APMServ5.2.6\MongoDb\logs\MongoDB.log --logappend --dbpath E:\APMServ5.2.6\MongoDb\data --directoryperdb --serviceName MongoDB --install
            posted on 2012-12-24 17:02 小果子 閱讀(246) 評論(0)  編輯 收藏 引用 所屬分類: SQL
            久久无码AV中文出轨人妻| 国产精品无码久久综合网| 亚洲欧美一级久久精品| 久久久这里只有精品加勒比| 久久国产亚洲精品| 久久综合久久综合久久综合| 四虎亚洲国产成人久久精品| 久久久这里有精品| 日本精品久久久中文字幕| 亚洲国产成人精品女人久久久 | 国产精品伦理久久久久久| 欧美久久一区二区三区| 99久久无色码中文字幕人妻| 亚洲综合久久综合激情久久| 久久无码人妻精品一区二区三区| 久久精品国产亚洲AV影院| 国产精品嫩草影院久久| 97久久香蕉国产线看观看| 久久久精品视频免费观看| 四虎国产精品免费久久久| 久久一日本道色综合久久| 亚洲午夜无码久久久久| 亚洲精品tv久久久久久久久久| 久久99国产精品成人欧美| 国产精品久久亚洲不卡动漫| 成人妇女免费播放久久久| 久久久久亚洲av无码专区| 久久99精品久久久久久久久久| 精品久久久无码人妻中文字幕| 亚洲精品午夜国产VA久久成人 | 精品多毛少妇人妻AV免费久久| 热综合一本伊人久久精品| 伊人久久无码精品中文字幕| 久久亚洲AV无码精品色午夜 | 日本国产精品久久| 欧美亚洲色综久久精品国产| 亚洲国产精品久久久久婷婷软件 | 久久精品成人免费国产片小草| 色婷婷综合久久久久中文字幕 | 777午夜精品久久av蜜臀| 狠狠久久亚洲欧美专区|