MongoDB學(xué)習(xí)總結(jié)

1、下載并安裝MongoDB

2、配置環(huán)境變量

3、啟動(dòng)MongoDB服務(wù)

⑴創(chuàng)建存儲(chǔ)數(shù)據(jù)的文件夾F:\data

⑵打開cmd 輸入命令mongod --dbpath?F:\data

4、連接MongoDB

打開cmd輸入mongo

如果想連接遠(yuǎn)程mongo

打開cmd 輸入mongo ip地址

5、關(guān)閉連接

ctrl+c

6、查看數(shù)據(jù)庫

show dbs

7、使用數(shù)據(jù)庫、創(chuàng)建數(shù)據(jù)庫

use student

如果創(chuàng)建數(shù)據(jù)庫,還需插入數(shù)據(jù)才會(huì)正常顯示數(shù)據(jù)庫,

執(zhí)行db.user.insert({'name':'zhangsan','age':'18'})

8、查看集合(表)

show collections

顯示user表

9.查詢表的數(shù)據(jù)

db.user.find()

查找age=22的數(shù)據(jù)

db.user.find({'age':22})

查找age>22的數(shù)據(jù)

db.user.find({'age':{$gt:22}})

查找age<22的數(shù)據(jù)

db.user.find({'age':{$lt:22}})

查找age>=22的數(shù)據(jù)

db.user.find({'age':{$gte:22}})

查找age<=22的數(shù)據(jù)

db.user.find({'age':{$lte:22}})

查找age<=30,age>=20的數(shù)據(jù)

db.user.find('age':{$gte:20,$lte:30})

查找name='張三'并且age=20的數(shù)據(jù)

db.user.find({'age':20,'name':'張三'})

模糊查詢(查詢name里面帶有‘三’的數(shù)據(jù))

db.user.find({'name':/三/})

查詢name以‘三’開頭的數(shù)據(jù)

db.user.find({'name',/^三/})

指定查詢(只查詢name的數(shù)據(jù))

db.user.find({},{name:1})? ?注意find里面第一個(gè)參數(shù)為空對(duì)象,意義為指定條件

查詢age>20的name

db.user.find({'age':{$gt:20},{name:1}})

查詢name和age數(shù)據(jù)

db.user.find({},{age:1,name:1})

查詢數(shù)據(jù)排序

db.user.find().sort()

查詢數(shù)據(jù)按age升序排序

db.user.find().sort({'age':1})

查詢數(shù)據(jù)按age降序排序

db.user.find().sort({'age':-1})

查詢user表的前兩條數(shù)據(jù)

db.user.find().limit(2)

查詢第2-5條數(shù)據(jù)

db.user.find().skip(2).limit(3)

or與查詢

or與查詢

查詢age=23或者age=25的數(shù)據(jù)

db.user.find({$or:[{'age':25},{'age':23}]})

查詢第一條數(shù)據(jù)

db.user.findOne()

統(tǒng)計(jì)查詢到數(shù)據(jù)的數(shù)量

db.user.find().count()? 注意find里面可以寫條件

10、表中插入數(shù)據(jù)

db.表名.insert({'name':'張三'})

11、cmd清屏

cls

修改數(shù)據(jù)

修改數(shù)據(jù)有查詢條件,要告訴mongo。

把小明的年齡修改18歲

db.student.update({'name':'小明'},{$set:{'age':18}})

如果不加$set,則把小明的數(shù)據(jù)改為age:18,(修改在整條數(shù)據(jù)為{'age':18},而不是修改age)

刪除數(shù)據(jù)

刪除數(shù)據(jù)庫

1、use 數(shù)據(jù)庫名

2、db.dropDatabase()

刪除表

db.表名.drop()

刪除數(shù)據(jù)

刪除user表里面張三的數(shù)據(jù)

db.user.remove({'name':'張三'})

刪除user表里面的名為張三的一條數(shù)據(jù)

db.user.remove({'name':'張三'},{justOne:true})

刪除user表里面的所有數(shù)據(jù)

db.user.remove({})

索引

索引意義:數(shù)據(jù)操作更快,相比沒有索引。

設(shè)置name索引

db.user.ensureIndex({'name':1})

查看索引

db.user.getIndexes()

刪除name索引

db.user.dropIndex({'name':1})

explain executionStats查詢具體的執(zhí)行時(shí)間

db.tablename.find().explain('executionStats')

創(chuàng)建復(fù)合索引

db.user.ensureIndex({'name':1,'age':1})

刪除復(fù)合索引

db.user.dropIndex({'name':1,'age':1})

唯一索引

db.user.ensureIndex({'userId':1},{'unique':ture})

設(shè)置userId為唯一索引,userId值必須唯一。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容