安裝mongodb
在bin文件下創(chuàng)建mongod.conf
寫入
dbpath = 數據存儲路徑
打開cmd進入bin目錄輸入
mongod.exe -f mongod.conf
另起一個cmd進入bin目錄輸入mongo啟動客戶端
mongodb語法
查看數據庫
show dbs
使用數據庫
use 數據庫名
查看集合
show collections
創(chuàng)建數據庫
use 數據庫名
注意:如果數據庫不存在則創(chuàng)建數據庫,否則切換到指定的數據庫
注意:如果剛剛創(chuàng)建的數據庫不在列表內策州,如果要顯示它瘸味,我們需要向剛剛創(chuàng)建的數據庫中插入一些數據
斷開連接
exit
集合操作
插入數據
db.集合名.insert({'name':'張三'})
查詢數據
db.集合名.find()
db.集合名.findOne('uid':2)
刪除數據
db.集合名.remove({'uid':2})
清空集合
db.集合名.remove({})
刪除集合
db.集合名.drop()
更新數據
第?一個?文檔為查詢的?文檔,第?二個?文檔為修改為什什么?文檔, 后?面的?文檔會覆蓋我們要修改?文檔的整個內容
db.集合名.update({"uid":2},{"uname":"jon"})
使用修改器$inc更新
對uid為2的用戶的年齡增加20
db.集合名.update({'uid':2},{'$inc':{'age':20}})
對uid為2的用戶的年齡減少20
db.集合名.update({'uid':2},{'$inc':{'age':-20}})
添加一個字段$set修改器
db.集合名.update({'uid':2},{'$set':{'sex':'male'}})
刪除一個字段$unset修改器
db.集合名.update({'uid':2},{'$unset':{'sex':true}})
數組的更新
db.集合名.update({'uid':2},{'$push':{'email':'a'}})
$pushAll在元組中增加多個元素够挂,但是不檢查元素是否存在
db.集合名.update({'uid':2},{'$pushAll':{'email':['a','b','c','d']}})
$addToSet 往數組中添加一個不重復的元素
db.集合名.update({'uid':2},{'$addToSet':{'email':'d'}})
添加多個不不重復的元素用*$eache*操作符
db.users.update({"uid":2},{"$addToSet":{"email":{"$each":["e","g","f","d"]}}})
刪除數據元素
db.users.update({"uid":2},{"$pop":{"email":-1}}) #從左側刪除?一個元素
db.users.update({"uid":2},{"$pop":{"email":1}})#從右側刪除?一個元素
db.users.update({"uid":2},{"$pull":{"email":"b"}}) #刪除數組內的指定?一個元素
db.users.update({"uid":2},{"$pullAll":{"email":["b","c"]}}) #刪除數組內指定的多個元素
數組元素的更更新 通過數組.下標修改
db.users.update({"uid":2},{"$set":{"email.0":"tim.qq.com"}})
等于 =
db.users.find({"salary":3000}).pretty()
小于 <
db.users.find({"salary":{$lt:3000}}).pretty()
于等于 <=
db.users.find({"salary":{$lte:3000}}).pretty()
大于 >
db.users.find({"salary":{$gt:3000}}).pretty()
大于等于 >=
db.users.find({"salary":{$gte:3000}}).pretty()
不等于 !=
db.users.find({"salary":{$ne:3000}}).pretty()
MongoDB 的 find() ?方法可以傳?入多個鍵(key)旁仿,
每個鍵(key)以逗號隔開,即常規(guī) SQL 的 AND 條件
db.users.find({"id":2, "sex": "M"}).pretty()
MongoDB OR 條件語句句使?用了了關鍵字 $or,語法格式如下:
db.users.find(
{
$or: [
{key1: value1}, {key2:value2}
]
}
).pretty(