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值必須唯一。