MongoDB(2):增刪改操作-創新互聯

附加命令:

創新互聯公司是一家專業提供江山企業網站建設,專注與做網站、成都網站建設、html5、小程序制作等業務。10年已為江山眾多企業、政府機構等服務。創新互聯專業網站設計公司優惠進行中。

1、進入前端操作命令

./mongo [ip:端口]

說明:默認會自動選本地,端口27017

2、顯示所有的庫

> show dbs;   或者 show databases;

3、選擇庫

> use 庫名;

4、顯示庫所有的集合

> show collections;  或者 show tables;

5、顯示當前使用的庫

> db;

一、操作數據庫、文檔

1.1、數據庫操作

1、創建數據庫:MongoDB沒有專門創建數據庫的語句,可以使用“use” 來使用某個數據庫,如果要使用

的數據庫不存在,那么將會創建一個,會在真正向該庫加入文檔后,保存成為文件。

> use db_test;

2、刪除數據庫,命令:db.dropDatabase(),注意先要進入到需刪除的庫

> use db_test; switched to db db_test > db.dropDatabase(); { "ok" : 1 } >

1.2、集合操作

1、創建集合:在MongoDB中不用創建集合,因為沒有固定的結構,直接使用db.集合名稱.命令 來操作就可以了。如果非要顯示創建集合的話,用:db.createCollecion(“集合名稱”);

2、刪除集合,命令:dorp

> db.test1.drop();

1.3、查看集合的狀態信息

db.集合名.stats();

二、增刪改

2.1、添加

db.集合名稱.insert(數據);

> db.test1.insert({"username":"zhangsan",age:2});

MongoDB(2): 增刪改操作

insert方法,可以單獨插入一個文檔,也可以插入多個,用“[ ]”即可。注意:

 1:MongoDB會為每個沒有“_id”字段的文檔自動添加一個”_id”字段

 2:每個Doc必須小于16MB

 3:可以在shell中執行Object.bsonsize(文檔名稱);來查看size大小

    MongoDB(2): 增刪改操作

2.2、刪除

命令:remove,可以按條件來刪除

只是刪除文檔,集合還在,如果使用 drop命令,會連帶集合和索引都刪掉

> db.test1.remove({age:2});

注意:如果使用remove沒有帶條件,則會刪除此集合中所有的文檔。

2.3、更新

db.集合名稱. update(條件,新的文檔[,boolean,boolean]);

> db.test1.update({"userId":"1"},{"userId":"1","username":"zhangsan","age":10});

MongoDB(2): 增刪改操作

問題:

 1、這里如果有多個文檔匹配,只會更新第一個文檔。

 2、這個修改的是整個文檔

解決:

 使用修改器

更新修改器,用來做復雜的更新操作

1:$set :指定一個字段的值,如果字段不存在,會創建一個

> db.test1.update({"userId":"1"},{"$set":{"username":"zhangsan"}},0,1);

說明:如果userId為1,則更新其username為zhangsan

MongoDB(2): 增刪改操作

> db.test1.update({"userId":"1"},{$set:{"score.1":7}});

說明:更新數組score的索引為1的值為7,索引從0開始。

2:$unset :刪掉某個字段

> db.test1.update({"userId":"1"},{"$unset":{"username":1}},0,1);

3:$inc :用來增加已有鍵的值,如果字段不存在,會創建一個。只能用于整型、長整型、或雙精度浮點型的值。

> db.test1.update({"userId":"1"},{"$inc":{"age":3}},0,1);

說明:如果userId為1,則將其age的值增加3

4:$push:向已有數組的末尾加入一個元素,要是沒有就新建一個數組

> db.test1.update({"userId":"1"},{"$push":{"score":1}},0,1);

MongoDB(2): 增刪改操作

5:$each:通過一次$push來操作多個值

> db.test1.update({"userId":"1"},{"$push":{"score":{$each:[4,5,6]}}},0,1);

MongoDB(2): 增刪改操作

6:$slice:限制數組只包含最后加入的n個元素,其值必須是負整數

> db.test1.update({"userId":"1"},{"$push":{"score":{$each:[7,8,9],$slice:-5}}});

MongoDB(2): 增刪改操作

7:$sort:對數組中的元素,按照指定的字段來對數據進行排序(1為升序,-1為降序),然后再按照slice刪除。

注意:不能只將$slice或者$sort與$push配合使用,且必須使用$each

> db.test1.update({"userId":"1"},{"$push":{"score":{$each:[1,2,3],$slice:-5,$sort:-1}}});

MongoDB(2): 增刪改操作

8:$ne:判斷一個值是否在數組中,如果不在則添加進去

> db.test1.update({"userId":"1","score":{$ne:4}},{$push:{"score":4}});

MongoDB(2): 增刪改操作

9:$addToSet:將數組作為數據集使用,以保證數組內的元素不會重復

> db.test1.update({"userId":"1"},{$addToSet:{"score":8}});

10:$pop :從數組一端刪除元素,{$pop:{key:1}},從末尾刪掉一個,-1則從頭部刪除

> db.test1.update({"userId":"1"},{$pop:{score:1}});

11:$pull:按照條件來刪除所有匹配的元素

> db.test1.update({"userId":"1"},{$pull:{score:7}});

12:$:用來修改第一個匹配的元素

> db.test1.update({"score.0":5},{$set:{"score.$":7}});

說明:如果score的第0個索引值為5,則更新score的第0個索引值為7

三、補充方法

3.1、save方法

如果文檔存在就更新,不存在就新建,主要根據”_id”來判斷。

添加:

  MongoDB(2): 增刪改操作

更新:

  MongoDB(2): 增刪改操作

3.2、upsert方法

找到了符合條件的文檔就更新,否則會以這個條件和更新文檔來創建一個新文檔。

指定update方法的第三個參數為true,可表示是upsert

MongoDB(2): 增刪改操作

3.3、更新多個文檔

MongoDB默認只更新符合條件的第一個文檔,要更新所有匹配的文檔,把第4個參數

設置為true。注意:

 1:只能用在$XXX的操作中

 2:最好每次都顯示的指定update的第4個參數,以防止服務器使用默認行為

3.4、查詢更新了多少個文檔

使用命令:getLastError ,返回最后一次操作的相關信息,里面的n就是更新的文

檔的數量。形如:db.runCommand({"getLastError":1});

MongoDB(2): 增刪改操作

另外有需要云服務器可以了解下創新互聯cdcxhl.cn,海內外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業上云的綜合解決方案,具有“安全穩定、簡單易用、服務可用性高、性價比高”等特點與優勢,專為企業上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。

本文標題:MongoDB(2):增刪改操作-創新互聯
文章轉載:http://m.kartarina.com/article8/ccipop.html

成都網站建設公司_創新互聯,為您提供虛擬主機微信小程序靜態網站移動網站建設網站排名企業建站

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

手機網站建設
主站蜘蛛池模板: 亚洲av永久无码精品古装片| 无码毛片视频一区二区本码| 国精无码欧精品亚洲一区| 免费一区二区无码视频在线播放 | AV无码精品一区二区三区| 亚洲youwu永久无码精品| 成在线人免费无码高潮喷水| 无码一区二区三区| 国产在线无码不卡影视影院| 无码福利一区二区三区| 国产AV无码专区亚洲AV漫画| 亚洲AV无码专区日韩| 蜜臀AV无码一区二区三区| 日韩精品专区AV无码| 亚洲?V无码乱码国产精品| 国产乱妇无码大片在线观看| 久久伊人亚洲AV无码网站| 亚洲av永久中文无码精品综合| 东京热无码av一区二区| 亚洲男人第一无码aⅴ网站| 亚洲成a人无码亚洲成www牛牛| 国产成人精品无码一区二区| 69成人免费视频无码专区| 亚洲人成人伊人成综合网无码| 国产成人无码区免费网站| 黑人无码精品又粗又大又长 | 无码人妻一区二区三区av| 无码中文字幕日韩专区| 中文无码伦av中文字幕| 久久久久亚洲精品无码网址| 国产爆乳无码视频在线观看3| 人妻丰满熟妇AV无码区免| 亚洲AV无码一区二区三区在线| 日韩人妻精品无码一区二区三区| 久久青青草原亚洲av无码| 久久久久亚洲AV无码专区网站| 亚洲高清无码专区视频| aⅴ一区二区三区无卡无码| 国产无码网页在线观看| 国产成人午夜无码电影在线观看| 国产在线精品无码二区|