亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 數據庫 > MongoDB > 正文

MongoDB常用操作匯總

2020-03-14 12:57:33
字體:
來源:轉載
供稿:網友

一、增刪改查

查看當前數據庫中所有的集合,使用命令

show collections 或使用show tables

創建集合有兩種方式,顯示創建和隱式創建

顯示創建可以使用命令 db.createCollection(“集合名稱")隱式創建可以使用命令 db.集合名稱.insert({}),指創建集合并同時向集合中插入數據,例如:db.customer.insert({name:”jack”})

向集合添加文檔

使用命令 db.集合名稱.insert({}),例如:

db.user1.insert({name:”jack”,age:20})

刪除集合中的文檔

使用命令 db.集合名稱.remove({刪除條件}),不加刪除條件為刪除集合中的所有文檔:例如,刪除c1集合中的所有文檔 db.c1.remove() 刪除c1集合中name為user1的文檔 db.c1.remove({name:”user1”})

查詢集合中的文檔

db.集合名稱.find({條件})或者使用 db.集合名稱.findOne() 查詢第一個文檔

查詢集合中的文檔,返回某些特定的鍵值
除了查詢表達式以外,MongoDB還支持一些額外的參數選項。
如果僅僅只想返回某些特定的字段值:
返回除了age字段外的所有字段
db.user.find({},{age:0});

返回tags=tennis除了comments的所有列
db.posts.find({tags:'tennis'},{comments:0});

返回userid=16的name字段
db.user.find({userid:16},{name:1});
{"_id":16,"name":"user16"}

返回x=john的所有z字段
db.things.find({x:"john"},{z:1});

查詢集合中的文檔 ,使用條件表達式(<, <=, >, >=,!=)
//大于: field > value
db.collection.find({field:{$gt:value}});

//小于: field < value
db.collection.find({field:{$lt:value}});

//大于等于: field >= value
db.collection.find({field:{$gte:value}});

//小于等于: field <= value
db.collection.find({field:{$lte:value}});

//不等于:  field != value
db.collection.find({field:{$ne:value}});

查詢集合中的文檔 ,統計(count)、排序(sort)、分頁(skip、limit)

db.customer.count();db.customer.find().count();db.customer.find({age:{$lt:5}}).count();db.customer.find().sort({age:1}); 降序-1db.customer.find().skip(2).limit(3);db.customer.find().sort({age:-1}).skip(2).limit(3);db.customer.find().sort({age:-1}).skip(2).limit(3).count();db.customer.find().sort({age:-1}).skip(2).limit(3).count(0);db.customer.find().sort({age:-1}).skip(2).limit(3).count(1);

查詢集合中的文檔
$all主要用來查詢數組中的包含關系,
查詢條件中只要有一個不包含就不返回

$in,類似于關系型數據庫中的IN

$nin,與$in相反

$or,相當于關系型數據庫中的OR,表示或者的關系,
例如查詢name為user2或者age為3的文檔,命令為:
db.customer.find({$or:[{name:”user2”},{age:3}]})

$nor,表示根據條件過濾掉某些數據,例如查詢name不是user2,age不是3的文檔,命令為:
db.customer.find({$nor:[{name:”user2”},{age:3}]})

$exists,用于查詢集合中存在某個鍵的文檔或不存在某個鍵的文檔,例如查詢customer集合中存在name鍵的所有文檔,可以使用
db.customer.find({name:{$exists:1}})
$exists:1表示真,指存在
$exists:0表示假,指不存在

游標

更新集合中的文檔
語法:db.collection.update(criteria,objNew,upsert,multi)
參數說明:
criteria:用于設置查詢條件的對象
objNew:用于設置更新內容的對象
upsert:如果記錄已經存在,更新它,否則新增一個記錄,取值為0或1
multi:如果有多個符合條件的記錄,是否全部更新,取值為0或1

注意:默認情況下,只會更新第一個符合條件的記錄
一般情況下后兩個參數分別為0,1 ,即:
db.collection.update(criteria,objNew,0,1)

將集合中name為user1的文檔改成name為jack:
db.c1.update({name:"user1"},{name:"jack"})

$set 用來指定一個鍵的值,如果這個鍵不存在,則創建它。例如:
給name為user1的文檔添加address,可以使用命令:
db.c1.update({name:”user1”},{$set:{address:”bj”}},0,1)
將name為user1的文檔修改address為tj,其它鍵值對不變,命令為:
db.c1.update({name:”user1”},{$set:{address:”tj”}},0,1)

使用 $inc 將集合中name為user1的age加1,其它鍵不變,
$inc表示使某個鍵值加減指定的數值
db.c1.update({name:"user1"},{$inc:{age:1}})

$unset 用來刪除某個鍵
例如刪除name為user1的文檔中的address鍵,可以使用命令:
db.c1.update({name:”user1”},{$unset:{address:1}},0,1)

二、索引:

索引就是用來加速查詢的。數據庫索引與書籍的索引類似:有了索引就不需要翻遍整本書,數據庫則可以直接在索引中查找,使得查找速度能提高幾個數量級。在索引中找到條目以后,就可以直接跳轉到目標文檔的位置。

普通索引:
創建:db.collection.ensureIndex({key:1})
查看關于索引的相關信息:db.collection.stats()
查看查詢使用索引的情況:db.collection.find({key:value}).explain()
刪除索引:db.collection.dropIndex({key:1})
刪除集合,也會將集合中的索引全部刪除

唯一索引:
創建:db.collection.ensureIndex({key:1},{unique:true})
查看關于索引的相關信息:db.collection.stats()
查看查詢使用索引的情況:db.collection.find({key:value}).explain()
刪除索引:db.collection.dropIndex({key:1})
刪除集合,也會將集合中的索引全部刪除

三、固定集合(capped collection)

固定集合指的是事先創建而且大小固定的集合 。

固定集合特性:固定集合很像環形隊列,如果空間不足,最早的文檔就會被刪除,為新的文檔騰出空間。一般來說,固定集合適用于任何想要自動淘汰過期屬性的場景,沒有太多的操作限制。

創建固定集合:
db.createCollection(“collectionName”,{capped:true,size:100000,max:100}); 
size指定集合大小,單位為KB,max指定文檔的數量

當指定文檔數量上限時,必須同時指定大小。淘汰機制只有在容量還沒有滿時才會依據文檔數量來工作。要是容量滿了,淘汰機制會依據容量來工作。

四、備份(mongodump)和恢復(mongorestore)

MongoDB提供了備份和恢復的功能,分別是MongoDB下載目錄下的mongodump.exe和mongorestore.exe文件(即在mongodb bin目錄下的命令)

備份數據使用下面的命令:
mongodump -h dbhost -d dbname -o dbdirectory
-h:MongDB所在服務器地址,例如:127.0.0.1,當然也可以指定端口號:127.0.0.1:27017
-d:需要備份的數據庫實例,例如:test
-o:備份的數據存放位置,例如:c:/data/dump,當然該目錄需要提
前建立,在備份完成后,系統自動在dump目錄下建立一個test目錄,這個
目錄里面存放該數據庫實例的備份數據。

恢復數據使用下面的命令:
mongorestore -h dbhost -d dbname -directoryperdb dbdirectory
-h:MongoDB所在服務器地址
-d:需要恢復的數據庫實例,例如:test,當然這個名稱也可以和備份時候的不一樣,比如test2
-directoryperdb:備份數據所在位置,例如:c:/data/dump/test

五、導入(mongoimport)和導出(mongoexport)

導出數據可以使用命令:
mongoexport -h dbhost -d dbname -c collectionName -o output
參數說明:
-h  數據庫地址
-d 指明使用的庫
-c 指明要導出的集合
-o 指明要導出的文件名

例:
mongoexport -h localhost:27017 -d test -c c4 -o d:/beifeng/c4.txt

導入數據可以使用命令:
mongoimport -h dbhost -d dbname -c collectionname 文件的地址...
參數說明:
-h  數據庫地址
-d 指明使用的庫
-c 指明要導入的集合
本地的文件地址...

例:
mongoimport -h localhost:27017 -d test -c cctv d:/beifeng/c4.txt


注:相關教程知識閱讀請移步到MongoDB頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲理论在线a中文字幕| 欧美老少做受xxxx高潮| 久久免费精品日本久久中文字幕| 国产不卡视频在线| 日韩免费在线观看视频| 久久中文字幕国产| 国产中文字幕91| 亚洲v日韩v综合v精品v| 亚洲精品国精品久久99热| 夜夜嗨av色一区二区不卡| 亚洲国语精品自产拍在线观看| 亚洲综合精品一区二区| 日本精品一区二区三区在线播放视频| 亚洲午夜精品久久久久久性色| 久久99久久99精品免观看粉嫩| 日本免费久久高清视频| 亚洲资源在线看| 国产精品自拍视频| 欧美性xxxxhd| 久久久精品久久| 国产精品免费一区二区三区都可以| 日韩av理论片| 日韩网站免费观看| 久久精品在线视频| 97视频在线看| 欧美激情精品久久久久久免费印度| 少妇高潮久久久久久潘金莲| 久久久久免费精品国产| 久久免费视频网站| 日韩av片永久免费网站| 51ⅴ精品国产91久久久久久| 欧美疯狂做受xxxx高潮| 在线亚洲欧美视频| 精品久久久精品| 日韩在线免费视频观看| 亚洲国产一区二区三区四区| 日韩国产精品一区| 欧美极品少妇xxxxⅹ喷水| 蜜月aⅴ免费一区二区三区| 精品久久久久久久大神国产| 97视频在线观看播放| 亚洲综合视频1区| 欧美日韩精品在线视频| 亚洲综合在线做性| 欧美日韩精品在线观看| 国产精品免费小视频| 久久亚洲精品一区| 国产精品丝袜白浆摸在线| 欧美精品18videos性欧| 日韩电影中文字幕在线| 精品视频在线观看日韩| 欧美小视频在线| 久久久久久久久久婷婷| 91香蕉嫩草神马影院在线观看| 欧美在线视频观看| 国产一区av在线| 九色精品免费永久在线| 久久久国产精彩视频美女艺术照福利| 欧美一级大片在线免费观看| 国语自产精品视频在免费| 午夜精品免费视频| 在线视频日本亚洲性| 97精品国产aⅴ7777| 亚洲国产成人精品久久久国产成人一区| 91精品国产91久久久久久吃药| 高清日韩电视剧大全免费播放在线观看| 欧美性20hd另类| 国产在线精品播放| 91深夜福利视频| 欧美性一区二区三区| 国产日韩欧美在线| 亚洲黄色免费三级| 日韩一区av在线| 日韩av综合网站| 欧美在线播放视频| 久久成人在线视频| 国产伦精品免费视频| 日韩av影视在线| 亚洲激情久久久| 国产精品免费小视频| 亚洲欧洲免费视频| 日韩a**中文字幕| 欧美最猛黑人xxxx黑人猛叫黄| 成人在线播放av| 欧美激情亚洲另类| 国产精品视频网| 日韩精品中文字幕在线观看| 久久在线免费观看视频| 亚洲一区二区三区成人在线视频精品| 欧美国产日产韩国视频| 国产精品第10页| 欧美国产日韩一区二区三区| 亚洲18私人小影院| 欧美日韩激情网| 九色91av视频| 日韩成人在线播放| 中文字幕国内精品| 日韩高清电影免费观看完整| 亚洲电影免费在线观看| 最近日韩中文字幕中文| 中文字幕亚洲欧美在线| 国产99视频在线观看| 91牛牛免费视频| 日韩在线视频免费观看高清中文| 91国内揄拍国内精品对白| 美日韩精品视频免费看| 一区二区三区在线播放欧美| 亚洲精品综合久久中文字幕| www.亚洲成人| 亚洲精品国产精品久久清纯直播| 国产精品中文久久久久久久| 国产噜噜噜噜久久久久久久久| 久久香蕉精品香蕉| 久久久久久久97| 美女久久久久久久久久久| 91福利视频网| 亚洲在线视频观看| 国产午夜精品美女视频明星a级| 亚洲人av在线影院| 亚洲美女在线视频| 欧美日韩一区二区在线| 亚洲国产精品资源| 538国产精品一区二区免费视频| 欧美做受高潮1| 66m—66摸成人免费视频| 精品日本高清在线播放| 久久九九全国免费精品观看| 国产伦精品一区二区三区精品视频| 久久精品久久久久电影| 色综合天天狠天天透天天伊人| 国产精品免费看久久久香蕉| 亚洲人免费视频| 久久五月情影视| 欧美视频免费在线观看| 国产精品毛片a∨一区二区三区|国| 伊人男人综合视频网| 精品国产91乱高清在线观看| 国产成人免费91av在线| 亚洲欧美中文字幕| 日韩一区av在线| 亚洲a∨日韩av高清在线观看| 亚洲尤物视频网| 日韩在线中文视频| 国产成人亚洲综合91精品| 中文字幕亚洲自拍| 亚洲日韩欧美视频一区| 亚洲小视频在线| 欧美性xxxx极品hd欧美风情| 久久久久成人网| 欧美一乱一性一交一视频| 日韩高清不卡av| 精品久久在线播放| 日韩亚洲欧美成人| 欧美激情18p| yw.139尤物在线精品视频| 97久久久免费福利网址| 欧美麻豆久久久久久中文| 国产精品久久久一区| 国产精品免费久久久| 狠狠久久亚洲欧美专区| 91精品国产乱码久久久久久久久| 日韩中文在线中文网在线观看| 国产精品视频中文字幕91| 国产精品丝袜视频|