前言
Mongodb是一個(gè)非關(guān)系型數(shù)據(jù)庫(kù)軟件(NoSql),以類似json的形式bson存儲(chǔ)數(shù)據(jù),bson有二進(jìn)制的json的意思,官方說(shuō)bson的效率更高,很適合存儲(chǔ)類似于對(duì)象的數(shù)據(jù),這里權(quán)當(dāng)把自己學(xué)習(xí)的過(guò)程記錄下來(lái)。
關(guān)于MongoDB的安裝方法給大家推薦下面這幾篇文章:
1、Linux下安裝MongoDB的實(shí)現(xiàn)步驟
2、window下安裝配置mongodb的教程圖解
3、Mac中mongoDB的安裝與卸載步驟詳解
好了,下面開(kāi)始本文的正文:
MongoDB:NoSQL數(shù)據(jù)庫(kù)
MongoDB中的重要指示點(diǎn)
1、MongoDB中的三要素
2、MongoDB中的數(shù)據(jù)存儲(chǔ)是以Bson的形式存儲(chǔ)的,Bson是二進(jìn)制的json,所以看上去記錄的形式類似于json數(shù)據(jù)
3、MongoDB中集合中的數(shù)據(jù)不同于關(guān)系型數(shù)據(jù)庫(kù)中的數(shù)據(jù),MongoDB中文檔結(jié)構(gòu)可以不同,因此擴(kuò)展性非常好
MongoDB的優(yōu)點(diǎn):易擴(kuò)展、高性能、靈活的數(shù)據(jù)模型
MongoDB的缺點(diǎn):數(shù)據(jù)重復(fù)存儲(chǔ),占用空間大
MongoDB啟動(dòng)
命令行(終端)啟動(dòng)命令
- mongod : 運(yùn)行服務(wù)端
- mongo: 啟動(dòng)客戶端
查看幫助命令,默認(rèn)端口,日志位置
- 查看幫助:
mongod –help
- 查看是否啟動(dòng)成功:
ps ajx|grep mongod
- 默認(rèn)端⼝:27017
- 日志的位置:/var/log/mongodb/mongod.log
mongodb客戶端
- 啟動(dòng)本地客戶端:mongo
- 查看幫助:
mongo –help
- 退出:exit或者ctrl+c
MongoDB的基礎(chǔ)命令
操作數(shù)據(jù)庫(kù)命令
查看當(dāng)前的數(shù)據(jù)庫(kù):db
查看所有的數(shù)據(jù)庫(kù):show dbs /show databases
切換數(shù)據(jù)庫(kù):use db_name刪除當(dāng)前的數(shù)據(jù)庫(kù):db.dropDatabase()
- 切換到?jīng)]有的數(shù)據(jù)庫(kù), 添加數(shù)據(jù)會(huì)自動(dòng)創(chuàng)建
顯示當(dāng)前數(shù)據(jù)庫(kù)狀態(tài):db.stats()
當(dāng)前數(shù)據(jù)庫(kù)版本:db.version()
查看當(dāng)前數(shù)據(jù)庫(kù)的鏈接機(jī)器地址:db.getMongo()
操作集合的命令
不手動(dòng)創(chuàng)建集合:
- 向不存在的集合中第⼀次加⼊數(shù)據(jù)時(shí), 集合會(huì)被創(chuàng)建出來(lái)
手動(dòng)創(chuàng)建結(jié)合:
創(chuàng)建用戶:db.createUser({user:"laowang",pwd:"123456",roles:[{role:"userAdmin",db:"stu"}]})
db.createCollection(name,options)
db.createCollection("stu")
db.createCollection("sub", { capped : true, size : 10 } )
- 參數(shù)capped: 默認(rèn)值為false表示不設(shè)置上限,值為true表示設(shè)置上限
- 參數(shù)size: 當(dāng)capped值為true時(shí), 需要指定此參數(shù), 表示上限⼤⼩,單位為字節(jié)
檔達(dá)到上限時(shí), 會(huì)將之前的數(shù)據(jù)覆蓋, 最早添加的數(shù)據(jù)移出, 其余上移, 最后添加在最后一條
顯示當(dāng)前所以用戶:show users
刪除用戶:db.removeUser("userName")
查看集合: show collections
刪除集合: db.集合名稱.drop()
mongo中的數(shù)據(jù)類型
Object ID: ⽂檔ID
String: 字符串, 最常⽤, 必須是有效的UTF-8
Boolean: 存儲(chǔ)⼀個(gè)布爾值, true或false
Integer: 整數(shù)可以是32位或64位, 這取決于服務(wù)器
Double: 存儲(chǔ)浮點(diǎn)值
Arrays: 數(shù)組或列表, 多個(gè)值存儲(chǔ)到⼀個(gè)鍵
Object: ⽤于嵌⼊式的⽂檔, 即⼀個(gè)值為⼀個(gè)⽂檔
Null: 存儲(chǔ)Null值
Timestamp: 時(shí)間戳, 表示從1970-1-1到現(xiàn)在的總秒數(shù)
Date: 存儲(chǔ)當(dāng)前⽇期或時(shí)間的UNIX時(shí)間格式
注意事項(xiàng):
創(chuàng)建⽇期語(yǔ)句如下 :參數(shù)的格式為YYYY-MM-DD每個(gè)⽂檔都有⼀個(gè)屬性, 為_(kāi)id, 保證每個(gè)⽂檔的唯⼀性
可以⾃⼰去設(shè)置_id插⼊⽂檔,如果沒(méi)有提供, 那么MongoDB為每個(gè)⽂檔提供了⼀個(gè)獨(dú)特的_id, 類型: objectID
objectID是⼀個(gè)12字節(jié)的⼗六進(jìn)制數(shù)(了解):
- 前4個(gè)字節(jié)為當(dāng)前時(shí)間戳
- 接下來(lái)3個(gè)字節(jié)的機(jī)器ID
- 接下來(lái)的2個(gè)字節(jié)中MongoDB的服務(wù)進(jìn)程id
- 最后3個(gè)字節(jié)是簡(jiǎn)單的增量值
插入數(shù)據(jù)
db.集合名稱.insert(document)插⼊⽂檔時(shí), 如果不指定_id參數(shù), MongoDB會(huì)為⽂檔分配⼀個(gè)唯⼀的ObjectId類型的_id
db.stu.insert({name:'gj',gender:1})
db.stu.insert({_id:"20170101",name:'gj',gender:1})
插入單條指定為字典, 插入多條指定為列表
保存
db.集合名稱.save(document)
如果⽂檔的_id已經(jīng)存在則修改, 如果⽂檔的_id不存在則添加
區(qū)別于: insert如果存在直接報(bào)錯(cuò)
簡(jiǎn)單查詢:
db.集合名稱.find()
更新
語(yǔ)法: db.集合名稱.update(query> ,update>,{multi: boolean>})
- 參數(shù)query:查詢條件
- 參數(shù)update:更新操作符
- 參數(shù)multi:可選, 默認(rèn)是false,表示只更新找到的第⼀條記錄, 值為true表示把滿⾜條件的⽂檔全部更新
舉例:注意:"multi update only works with $ operators" 更新全部,必須使用 $set
db.stu.update({name:'hr'},{name:'mnc'})
更新一條,沒(méi)有更新的字段會(huì)丟棄.
db.stu.update({name:'hr'},{$set:{name:'hys'}})
更新一條
db.stu.update({},{$set:{gender:0}},{multi:true})
更新全部
刪除
語(yǔ)法: db.集合名稱.remove(query>,{justOne: boolean>})
- 參數(shù)query:可選,刪除的⽂檔的條件
- 參數(shù)justOne:可選, 如果設(shè)為true或1, 則只刪除⼀條, 默認(rèn)false, 表示刪除多條
總結(jié):
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,如果有疑問(wèn)大家可以留言交流,謝謝大家對(duì)腳本之家的支持。
您可能感興趣的文章:- Ubuntu下安裝PHP的mongodb擴(kuò)展操作命令
- MongoDB常用操作命令大全
- MongoDB常用數(shù)據(jù)庫(kù)命令大全
- mongodb基本命令實(shí)例小結(jié)
- MongoDB Shell 命令實(shí)例總結(jié)【進(jìn)階篇】
- MongoDB使用mongoexport和mongoimport命令,批量導(dǎo)出和導(dǎo)入JSON數(shù)據(jù)到同一張表的實(shí)例
- mongodb監(jiān)控工具mongostat的使用及命令詳解
- Mongodb 啟動(dòng)命令mongod參數(shù)說(shuō)明(中文翻譯)
- MongoDB使用自帶的命令行工具進(jìn)行備份和恢復(fù)的教程
- MongoDB數(shù)據(jù)庫(kù)常用的10條操作命令