時間:2024-02-14 10:19作者:下載吧人氣:35
前言
Mongodb是一個非關(guān)系型數(shù)據(jù)庫軟件(NoSql),以類似json的形式bson存儲數(shù)據(jù),bson有二進制的json的意思,官方說bson的效率更高,很適合存儲類似于對象的數(shù)據(jù),這里權(quán)當(dāng)把自己學(xué)習(xí)的過程記錄下來。
關(guān)于MongoDB的安裝方法給大家推薦下面這幾篇文章:
1、Linux下安裝MongoDB的實現(xiàn)步驟
2、window下安裝配置mongodb的教程圖解
3、Mac中mongoDB的安裝與卸載步驟詳解
好了,下面開始本文的正文:
MongoDB:NoSQL數(shù)據(jù)庫
MongoDB中的重要指示點
1、MongoDB中的三要素
2、MongoDB中的數(shù)據(jù)存儲是以Bson的形式存儲的,Bson是二進制的json,所以看上去記錄的形式類似于json數(shù)據(jù)
3、MongoDB中集合中的數(shù)據(jù)不同于關(guān)系型數(shù)據(jù)庫中的數(shù)據(jù),MongoDB中文檔結(jié)構(gòu)可以不同,因此擴展性非常好
MongoDB的優(yōu)點:易擴展、高性能、靈活的數(shù)據(jù)模型
MongoDB的缺點:數(shù)據(jù)重復(fù)存儲,占用空間大
MongoDB啟動
命令行(終端)啟動命令
查看幫助命令,默認端口,日志位置
mongod –help
ps ajx|grep mongod
mongodb客戶端
mongo –help
MongoDB的基礎(chǔ)命令
操作數(shù)據(jù)庫命令
查看當(dāng)前的數(shù)據(jù)庫:db
查看所有的數(shù)據(jù)庫:show dbs /show databases
切換數(shù)據(jù)庫:use db_name刪除當(dāng)前的數(shù)據(jù)庫:db.dropDatabase()
顯示當(dāng)前數(shù)據(jù)庫狀態(tài):db.stats()
當(dāng)前數(shù)據(jù)庫版本:db.version()
查看當(dāng)前數(shù)據(jù)庫的鏈接機器地址:db.getMongo()
操作集合的命令
不手動創(chuà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 } )
顯示當(dāng)前所以用戶:show users
刪除用戶:db.removeUser("userName")
查看集合: show collections
刪除集合: db.集合名稱.drop()
mongo中的數(shù)據(jù)類型
Object ID: ⽂檔ID
String: 字符串, 最常⽤, 必須是有效的UTF-8
Boolean: 存儲⼀個布爾值, true或false
Integer: 整數(shù)可以是32位或64位, 這取決于服務(wù)器
Double: 存儲浮點值
Arrays: 數(shù)組或列表, 多個值存儲到⼀個鍵
Object: ⽤于嵌⼊式的⽂檔, 即⼀個值為⼀個⽂檔
Null: 存儲Null值
Timestamp: 時間戳, 表示從1970-1-1到現(xiàn)在的總秒數(shù)
Date: 存儲當(dāng)前⽇期或時間的UNIX時間格式
注意事項:
創(chuàng)建⽇期語句如下 :參數(shù)的格式為YYYY-MM-DD每個⽂檔都有⼀個屬性, 為_id, 保證每個⽂檔的唯⼀性
new Date('2017-12-20')
可以⾃⼰去設(shè)置_id插⼊⽂檔,如果沒有提供, 那么MongoDB為每個⽂檔提供了⼀個獨特的_id, 類型: objectID
objectID是⼀個12字節(jié)的⼗六進制數(shù)(了解):
插入數(shù)據(jù)
db.集合名稱.insert(document)插⼊⽂檔時, 如果不指定_id參數(shù), MongoDB會為⽂檔分配⼀個唯⼀的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如果存在直接報錯
簡單查詢:
db.集合名稱.find()
更新
語法: db.集合名稱.update(<query> ,<update>,{multi: <boolean>})
舉例:注意:”multi update only works with $ operators” 更新全部,必須使用 $set
db.stu.update({name:'hr'},{name:'mnc'})
更新一條,沒有更新的字段會丟棄.db.stu.update({name:'hr'},{$set:{name:'hys'}})
更新一條db.stu.update({},{$set:{gender:0}},{multi:true})
更新全部刪除
語法: db.集合名稱.remove(<query>,{justOne: <boolean>})
總結(jié):
本篇文章到此結(jié)束,如果您有相關(guān)技術(shù)方面疑問可以聯(lián)系我們技術(shù)人員遠程解決,感謝大家支持本站!
網(wǎng)友評論