mongodb常用的操作

幫助help

 help -----幫助
 db.help() 
        -----顯示當(dāng)前文檔的方法
 db.test.help()             
        -----顯示數(shù)據(jù)庫下test集合(document\表)所有
 使用的方法
 db.test.find().help()  
        -----顯示當(dāng)前數(shù)據(jù)下test集合的所有數(shù)據(jù)方法
 db 顯示當(dāng)前數(shù)據(jù)名稱        
        -----首次進入時 默認(rèn)為test

創(chuàng)建挽懦、切換數(shù)據(jù)庫

    use movie               -----切換 創(chuàng)建數(shù)據(jù)庫 (有點話是創(chuàng)建、沒有的時候回創(chuàng)建)
                            -----首次創(chuàng)建的數(shù)據(jù)庫不會顯示 應(yīng)為內(nèi)容為空 
    db.createCollection("a")   -----創(chuàng)建文檔(表) 此時就可以在可視化工具中看到數(shù)據(jù)庫
    db.createCollection("a",{size:20,capped:true,max:200})   -----創(chuàng)建文檔 不建議
    show dbs                -----顯示數(shù)據(jù)庫列表    
    show collections        -----獲取集合列表
    db.stats()              -----顯示當(dāng)前數(shù)據(jù)庫的狀態(tài)(信息)
    db.version()            -----顯示當(dāng)前數(shù)據(jù)庫的版本信息
    db.getMongo()           -----獲取當(dāng)前數(shù)據(jù)庫連接的服務(wù)器信息
        connection to 127.0.0.1:27017
    
    db.getName()            -----獲取當(dāng)前數(shù)據(jù)庫的名稱突雪,相當(dāng)于db
    db.dropDatabase()       -----刪除當(dāng)前數(shù)據(jù)庫    小bug刪除后使用db還是顯示原數(shù)據(jù)庫名稱
    db.collection.drop()    -----刪除集合
    
    db.getCollection("collName");       ------得到指定名稱的聚集集合
    db.getCollectionNames();            ------得到當(dāng)前DB的所有的聚集集合   以數(shù)組的形式
    db.printCollectionStats();          ------顯示當(dāng)前db所有集合的狀態(tài)

    1.插入文檔
        db.ele.insert({name:1,age:20,sex:"man"})            ------插入以對象的方式
        db.ele.save({name:2,age:20,sex:"women"})
        db.ele.insertOne({name:20,age:0})                   ------單次插入
        db.ele.insertMany([{},{}])                          ------插入多個文檔鳞陨,以數(shù)組存儲對象的方式 

    remove({},false,err)
        一個參數(shù)為匹配條件
        第二個參數(shù)為是否只刪除第一個  默認(rèn)false 全部刪除  設(shè)置為true時 只刪除第一個匹配的(也可以設(shè)置為1)
        第三個為拋出的異常
    
        db.ele.remove({name:"tehui"})
            -----會刪除匹配到的多個文檔
        db.ele.remove({name:"tehui"},true)
            -----只刪除了第一個匹配的
        db.ele.deleteMany({"business_flag":2})
            ------刪除多個文檔時可用帚戳,刪除一個時也可用

    updatae({},{},true,false)
        4個參數(shù)  第一個是匹配的條件
                第二個更新的屬性
                第三參數(shù) 匹配不到時 是否插入 默認(rèn)為false 不插入
                第四個參數(shù)   是否只跟新第一個匹配到的文檔  默認(rèn)false 只更新第一次匹配到的文檔

        更新business_flag為14的數(shù)據(jù)棵帽,使它name=新店特惠1
            db.ele.update({"business_flag":14},{$set:{name:"tehui"}})
                -----WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
                -----匹配到1個 更新1個
            
            db.ele.update({"business_flag":24},{$set:{name:"tehui"}},false)
            db.ele.update({"business_flag":24},{$set:{name:"tehui"}})               
                ----第三個參數(shù)為false時 和默認(rèn)時
                ----WriteResult({ "nMatched" : 0, "nUpserted" : 0, "nModified" : 0 })
            db.ele.update({"business_flag":24},{$set:{name:"tehui"}},true)
                ----第三個參數(shù)為true時
                ----WriteResult({
                        "nMatched" : 0,
                        "nUpserted" : 1,
                        "nModified" : 0,
                        "_id" : ObjectId("59662b20e6c44cb771e9e3dc")})
        
        
        db.ele.update({"is_in_serving":true},{$set:{name:"111"}},false,false)
                ----第四個參數(shù)為默認(rèn)值和false時 只匹配了第一個
        db.ele.update({"is_in_serving":true},{$set:{name:"111"}},false,true)
                ----設(shè)置為true 是所有滿足條件的都匹配 和更新
        
        當(dāng)匹配的文檔沒有改字段時添加字段
            db.ele.update({},{$inc:{business_flag:1}},false,true)

find    第一個參數(shù)是限制條件      {}對象 空的時候表示沒有限制,會匹配所有  鍵值對  其中值也可以為對象
        第二個是顯示的格式       {}對象 鍵值對值為0時不顯示 1為顯示  不設(shè)置是默認(rèn)全顯示

    簡單的查詢:
        db.ele.find({})        ------查詢結(jié)果是沒有使用任何符號相連接的旺矾,
                                    每一個對象又叫做一個document(文檔----行)
        db.ele.find({},{name:1,_id:0}) 
        db.elelist.find({"name":"下午茶"})
            ----該方法會顯示name為下午茶的集合的所有數(shù)據(jù)   體驗不好       
        db.ele.find({name:"美食"},{name:1,_id:0})         
            ----查詢條件 name:美食蔑鹦,顯示name _id不顯示      
    
    查詢大于某一條件:
        db.ele.find({"business_flag":{$gt:5}},{_id:0,name:1})
            -----大于5的部分用對象實現(xiàn)夺克,對象內(nèi)部大于用$gt

    小于 {$lt:10}
        db.ele.find({"business_flag":{$lt:10}},{_id:0,name:1})
            ------小于10的部分
    
    大于等于{$gte:num}
        db.ele.find({"business_flag":{$gte:4}},{_id:0,name:1})
            -----$gt 后加e 改成$gte
    
    小于等于{$lte:num}
        db.ele.find({"business_flag":{$gte:4}},{_id:0,name:1})
    
    并且{obj1,obj2}
        db.ele.find({"business_flag":{$lt:16},id:{$gt:10}},{_id:0,name:1})
            ------第一參數(shù)設(shè)置兩個屬性 即設(shè)置兩個條件
    
    查詢num1~num2之間的數(shù)據(jù){$gt:num,$lt:num1}
        db.ele.find({"business_flag":{$gt:6,$lt:14}},{_id:0,name:1})
            -------鍵值對 值也可以設(shè)成對象的形式嚎朽。
    
    查詢?nèi)ブ?   distinct(獨特性)
        db.ele.distinct("business_flag")
            -------即查詢文檔中 某一屬性的值的種類
    
    模糊查詢        //
        db.ele.find({name:/午/},{_id:0,name:1})
            //中的字符串不用加'' 加了會認(rèn)為是匹配"午"而不是 午
            
    查詢后的數(shù)據(jù) 排序  sort({"鍵":值}) 其中鍵表示按什么排序   值為1是升序  值為-1是為降序
        db.ele.find({},{"business_flag":1,"name":1,_id:0}).sort({"business_flag":1});  
             ---升序
        db.ele.find({},{"business_flag":1,"name":1,_id:0}).sort({"business_flag":-1}); 
              ---升序
        
    查詢前num條     limit(num)
        db.ele.find({},{_id:0,name:1,"business_flag":1}).limit(5)
            -----查詢前5條 包括第5條
    
    查詢index后的數(shù)據(jù)  skip(num)  
        db.ele.find({},{_id:0,name:1,business_flag:1}).skip(6)
            -------查詢第7條開始后的數(shù)據(jù)
    
    查詢a~b之間的數(shù)據(jù)
        db.ele.find({},{_id:0,name:1,business_flag:1}).limit(5).skip(6)
            其實相當(dāng)于查詢第6條之后的5個信息 不包括第6條信息
    
    查詢匹配條件的文檔集的數(shù)
        db.ele.find({"business_flag":{$lt:14}},{_id:0,name:1,business_flag:1}).count()
            ----------輸出的結(jié)果是匹配的數(shù)目
    
    匹配含有某一條件的集合的數(shù)目
        db.ele.find({"business_flag":{$exists:true}}).count()
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末懊直,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子火鼻,更是在濱河造成了極大的恐慌室囊,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,729評論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件魁索,死亡現(xiàn)場離奇詭異融撞,居然都是意外死亡,警方通過查閱死者的電腦和手機粗蔚,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,226評論 3 399
  • 文/潘曉璐 我一進店門尝偎,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人鹏控,你說我怎么就攤上這事致扯。” “怎么了当辐?”我有些...
    開封第一講書人閱讀 169,461評論 0 362
  • 文/不壞的土叔 我叫張陵抖僵,是天一觀的道長。 經(jīng)常有香客問我缘揪,道長耍群,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 60,135評論 1 300
  • 正文 為了忘掉前任找筝,我火速辦了婚禮蹈垢,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘袖裕。我一直安慰自己曹抬,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 69,130評論 6 398
  • 文/花漫 我一把揭開白布急鳄。 她就那樣靜靜地躺著谤民,像睡著了一般。 火紅的嫁衣襯著肌膚如雪攒岛。 梳的紋絲不亂的頭發(fā)上赖临,一...
    開封第一講書人閱讀 52,736評論 1 312
  • 那天胞锰,我揣著相機與錄音灾锯,去河邊找鬼。 笑死嗅榕,一個胖子當(dāng)著我的面吹牛顺饮,可吹牛的內(nèi)容都是我干的吵聪。 我是一名探鬼主播,決...
    沈念sama閱讀 41,179評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼兼雄,長吁一口氣:“原來是場噩夢啊……” “哼吟逝!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起赦肋,我...
    開封第一講書人閱讀 40,124評論 0 277
  • 序言:老撾萬榮一對情侶失蹤块攒,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后佃乘,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體囱井,經(jīng)...
    沈念sama閱讀 46,657評論 1 320
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,723評論 3 342
  • 正文 我和宋清朗相戀三年趣避,在試婚紗的時候發(fā)現(xiàn)自己被綠了庞呕。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,872評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡程帕,死狀恐怖住练,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情愁拭,我是刑警寧澤讲逛,帶...
    沈念sama閱讀 36,533評論 5 351
  • 正文 年R本政府宣布,位于F島的核電站岭埠,受9級特大地震影響妆绞,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜枫攀,卻給世界環(huán)境...
    茶點故事閱讀 42,213評論 3 336
  • 文/蒙蒙 一括饶、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧来涨,春花似錦图焰、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,700評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至卧抗,卻和暖如春藤滥,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背社裆。 一陣腳步聲響...
    開封第一講書人閱讀 33,819評論 1 274
  • 我被黑心中介騙來泰國打工拙绊, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 49,304評論 3 379
  • 正文 我出身青樓标沪,卻偏偏與公主長得像榄攀,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子金句,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,876評論 2 361

推薦閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,328評論 25 707
  • 需要原文的可以留下郵箱我給你發(fā)檩赢,這里的文章少了很多圖,懶得網(wǎng)上粘啦 1數(shù)據(jù)庫基礎(chǔ) 1.1數(shù)據(jù)庫定義 1)數(shù)據(jù)庫(D...
    極簡純粹_閱讀 7,441評論 0 46
  • 郭相麟 一位八零后創(chuàng)業(yè)家寫給家人的懺悔信 親愛的老婆违寞,孩子: 你們好贞瞒!提筆在手,內(nèi)心百感交集趁曼,為了成就事業(yè)夢想...
    郭相麟閱讀 207評論 0 0
  • 工作模式與連接數(shù)上限 設(shè)定http服務(wù)器 #FastCGI相關(guān)參數(shù)是為了改善網(wǎng)站的性能:減少資源占用憔狞,提高訪問速度...
    layjoy閱讀 2,607評論 0 5
  • 文/ 雨清澤 張愛玲《流言》瘾敢。之前一直在讀她的小說,沒有想到一個小說家的散文尿这,也寫得這樣流暢簇抵。她的散文不美,沒有在...
    雨清澤閱讀 3,247評論 11 103