mogodb

use dbname :切換和創(chuàng)建數(shù)據(jù)庫

show dbs :查看所有數(shù)據(jù)庫

db.stats():查看當前數(shù)據(jù)庫信息

db.createCollection("stu"):創(chuàng)建集合(不固定大小),先切數(shù)據(jù)庫

db.createCollection("stu",{capped:True,size:10,max:100}):創(chuàng)建固定大小的集合,

db.dropDatabase():刪除數(shù)據(jù)庫,刪哪個先切換到哪個數(shù)據(jù)庫下

show collections:查看當前數(shù)據(jù)庫所有集合

db.集合名稱.drop():刪除集合

創(chuàng)建固定大小的集合db.createCollection("集合名稱")
固定大小的集合(當集合存滿時,新的數(shù)據(jù)會覆蓋之前的數(shù)據(jù))
db.createCollection("集合名稱,
{capped:True,
size:10,指集合大?。▎挝皇亲止?jié)),
max:100指定集合在存儲的最大文檔數(shù)
}
)

size的優(yōu)先級更高

插入數(shù)據(jù):
插入單條數(shù)據(jù)
db.student.insert({name:'王霞',age:18,gender:1,})
插入多條數(shù)據(jù)
db.student.insert([{name:'xiaoli',age:19,gender:0},{name:'xiaoqi',age:18,gender:1}])
查看集合中的數(shù)據(jù)
db.student.find()

插入數(shù)據(jù)是如果沒有指定id,會自動生成一個,也可以自己指定。ID是一個主鍵也是一個索引

更新數(shù)據(jù):
更新前:
{ "_id" : ObjectId("5c2476f6173b783193b0b16c"), "name" : "xiaoqi", "age" : 18, "gender" : 1 }
db.student.update({name:'xiaoqi'},{name:'xiaodong'},{upsert :可選,這個參數(shù)的意思是,如果不存在update 的記錄,是否插入objNew,true為插入,默認是false,
multi:可選,mongodb 默認是false,
只更新找到的第 一條記錄,如果這個參數(shù)為true,就把按條件查出來多條記錄 全部更新。
})全文檔更新,ID不變;

更新后:
{ "_id" : ObjectId("5c2476f6173b783193b0b16c"), "name" : "xiaodong" }

更新前:
{ "_id" : ObjectId("5c2476f6173b783193b0b16b"), "name" : "xiaoli", "age" : 19, "gender" : 0 }
db.student.update({name:'xiaoli'},{$set:{age:3}})局部更新
 更新后:
{ "_id" : ObjectId("5c2476f6173b783193b0b16b"), "name" : "xiaoli", "age" : 3, "gender" : 0 }

save:會根據(jù)_id這個字段取集合下查找,如果_id存在,則進行全文檔更新,如果不_id存在, 則插入一條新數(shù)據(jù)
db.集合名稱.save(
{id:'','key':'value',....}
)

刪除

db.集合名稱.remove({key:'value'},{justOne:true})
db.集合名稱.drop
db.dropDatabase()

查詢

db.集合名稱.find()查詢所有
db.集合名稱.find({'key':'value'})
db.集合名稱.findOne({'key':'value'})查詢一條

sudo service mongodb start

lt 小于lte 小于等于
gt 大于gte大于等于

多條件查詢

查詢時間大于100并且演員是李連杰
db.集合名稱.find(
{
'times':{$gt:100},
'actors':'李連杰',
}
)

查詢時間大于100或者演員是李連杰

db.集合名稱.find(
{
or:[{times:{gt:100}},{actor:'李連杰'}]
})

查詢時間大于100或者演員是李連杰,并且標題為少年方世玉的文檔

db.集合名稱.find(
{
or:[{times:{gt:100}},{actor:'李連杰'}],
title:'少年方世玉'
})

范圍運算符

db.movie.find({actors:/^李/}) db.movie.find({actors:{$regex:'李'}}) 查詢以李開頭的演員

$type:只返回符合數(shù)據(jù)類型的文檔

db.集合名稱.find({
'key':{$type:'數(shù)據(jù)類型'}
})

limit:限制返回

db.集合名稱.find().limit(3) 查詢前3條
db.集合名稱.find().skip(2).limit(3) 跳過前2條,查詢3條

sort:排序 1:升序 -1:降序

db.集合名稱.find().sort({'times':-1}) 以時間降序查詢
db.集合名稱.find().sort({'times':1}) 以時間升序查詢

去重

db.集合名稱.distinct(
'actors',{times:{$gte:90}}
)

project:投影 1顯示 0不顯示 查詢想要的字段

db.集合名稱.find({},{'title':1})

count:統(tǒng)計

db.movie.count() 查詢集合中有幾條文檔
db.集合名稱.find().count()
db.movie.count({actors:'李連杰'})
db.集合名稱.find({actors:'李連杰'}).count()

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

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

  • 關(guān)于Mongodb的全面總結(jié) MongoDB的內(nèi)部構(gòu)造《MongoDB The Definitive Guide》...
    中v中閱讀 32,328評論 2 89
  • MongoDB指令 輸入help可以看到基本操作命令: show dbs:顯示數(shù)據(jù)庫列表 show collect...
    東海虬髯客閱讀 273評論 0 3
  • 一、MongoDB簡介 1.概述 ? MongoDB是一個基于分布式文件存儲的數(shù)據(jù)庫,由C++語言編寫。旨在為WE...
    鄭元吉閱讀 1,130評論 0 2
  • mongodb特點其一:自動分片:支持云級別的伸縮性:自動分片功能支持水平的數(shù)據(jù)庫集群,可動態(tài)添加額外的機器集群定...
    叫我老村長閱讀 936評論 0 0
  • 簡介 MongoDB 是一個基于分布式文件存儲的NoSQL數(shù)據(jù)庫 由C++語言編寫,運行穩(wěn)定,性能高 旨在為 WE...
    大熊_7d48閱讀 37,871評論 1 9

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