基本命令
查看當(dāng)前數(shù)據(jù)庫的基本命令 db
查看所有的數(shù)據(jù)庫 show dbs
查看所有集合 show collections
刪除集合 db.集合名稱.drop()
切換和常見數(shù)據(jù)庫 use dbname
刪除數(shù)據(jù)庫(先切換到要刪除的數(shù)據(jù)庫下) db.dropDatabase()
查看數(shù)據(jù)庫信息 db.stats()
創(chuàng)建集合
db.createCollection('集合名稱') 不固定大小
固定大小的集合 集合內(nèi)容存滿是,新的數(shù)據(jù)會覆蓋舊的數(shù)據(jù)
db.createCollection(
'info',
{capped:true, 制定集合的大屑退(單位是字節(jié))
size:10, 指定集合中能存儲的最大文檔的數(shù)量
max:
})
size的優(yōu)先級更高
數(shù)據(jù)的 增 刪 改 查
db.1712student
插入數(shù)據(jù)
插入單條數(shù)據(jù)
db.集合名稱.insert({'key':'value'})
插入多條數(shù)據(jù)庫
db.集合名稱.insert(
[
{'key':'value'}
]
)
插入數(shù)據(jù)時 如果沒有指定 _id 會幫你自動生產(chǎn)一個 也可以自己生成一個
更新數(shù)據(jù)
update
全文檔更新 (由一個新的文檔替換之前的文檔艳馒,id不變)
db.集合.update(
{'key':'value'},查詢條件
{'newkey':'newvalue'}新的文檔
{
upsert:默認(rèn)情況下為false,要更新的文檔不存在,不會插入一條新的文檔 }
)
局部更新
db.集合名稱.update(
{'key':'value'},查詢條件
{ $set:{'newkey':'newvalue'}
}
)
save:會根據(jù)_id這個字段起集合下查找,如果_id存在,\全文檔更新绍申。 如果不存在,則插入一條新的數(shù)據(jù)庫
db.集合名稱.save(
{id:'',
'key':'value',....}
)
格式化輸出
db.集合名稱.find().pretty()
刪除數(shù)據(jù)
刪除多條
db.集合名稱.remove(
{'key':'value'}, 條件
1 表示的不是數(shù)量,表示的是true和flase
)
查詢
db.集合名稱.find() 查詢所有
db.集合名稱.find(
{'key':'value'}, 條件
)
db.集合名稱.findOne( 查詢第一條
{'key':'value'}, 條件
)
等于中燥,默認(rèn)是等于判斷,沒有運(yùn)算符
小于 lte
大于 gte
不等于 $ne
db.集合名稱.find(
{'time':{$gte:100})
)
多條件查詢
db.集合名稱.find(
{
'time':{$gte:100},
'actor':{'李連杰'}
}
)
邏輯或 or:
[
{'time':{$gt:100}},
{'actor':'李連杰'}
],)
使用正則查詢
db.集合名稱.find(
{
'字段':/^正則表達(dá)式/
})
db.集合名稱.find(
{
'字段':{type:只返回符合數(shù)據(jù)類型的文檔
db.集合名稱.find(
{
'key':{$type:'數(shù)據(jù)類型'}
}
)
limit:限制返回
db.數(shù)據(jù)類型.find().limit(數(shù)字)
skip:跳過數(shù)據(jù)
db.xiaoti.find().skip(數(shù)字).limit(數(shù)字)
注意:limit和skip順序不分先后
db.集合名稱.find().sort({'key':方向(1 or -1),'key2':方向( )})
distinct: 去重
db.集合名稱.distinct('')
project(投影):樂意選擇查詢結(jié)果中缤沦,數(shù)據(jù)的展示和隱藏 1是顯示 0是隱藏
db.集合名稱.find({},{'字段':數(shù)字,})
假如再設(shè)置要顯示的字段時虎韵,第一個字段顯示為1,值顯示這個字段 其他的不顯示 只隱藏當(dāng)前設(shè)置的字段缸废,其他的字段都會顯示出來
count統(tǒng)計(jì)文檔的個數(shù)
db.集合名稱.count(
{條件}
)
db.集合名稱.find({條件}).count()
mongodb操作中的聚合包蓝,主要是處理數(shù)據(jù)(求和,求整)
MongoDB數(shù)據(jù)導(dǎo)入與導(dǎo)出
d :數(shù)據(jù)庫名
c :collection名
o :輸出的文件名
-type : 輸出的格式呆奕,默認(rèn)為json
f :輸出的字段养晋,如果-type為csv,則需要加上-f "字段名"
導(dǎo)出json 將mongo數(shù)據(jù)庫導(dǎo)入在文件 .json 結(jié)尾的文件
mongoexport -d XXX(庫名字) -c XXX(集合名字) -o '路徑(將文件直接拉入終端)' --type json
mongoexport -d xxx -c xxx -o '路徑' --type json
導(dǎo)出csv
mongoexport -d class1804 -c books -o ~/桌面/dump/books.csv --type csv -f 'by_user,likes'
https://www.cnblogs.com/TankMa/archive/2011/06/08/2074947.html