本篇文章為大家展示了MongoDB中有哪些基礎(chǔ)命令,內(nèi)容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細(xì)介紹希望你能有所收獲。
網(wǎng)站建設(shè)哪家好,找成都創(chuàng)新互聯(lián)公司!專注于網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、小程序定制開發(fā)、集團企業(yè)網(wǎng)站建設(shè)等服務(wù)項目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了靜海免費建站歡迎大家使用!
1、MongoDB中的三要素
數(shù)據(jù)庫
集合
文檔
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 : 運行服務(wù)端
mongo: 啟動客戶端
查看幫助命令,默認(rèn)端口,日志位置
查看幫助:mongod –help
查看是否啟動成功:ps ajx|grep mongod
默認(rèn)端?:27017
日志的位置:/var/log/mongodb/mongod.log
mongodb客戶端
啟動本地客戶端:mongo
查看幫助:mongo –help
退出:exit或者ctrl+c
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()
切換到?jīng)]有的數(shù)據(jù)庫, 添加數(shù)據(jù)會自動創(chuàng)建
顯示當(dāng)前數(shù)據(jù)庫狀態(tài):db.stats()
當(dāng)前數(shù)據(jù)庫版本:db.version()
查看當(dāng)前數(shù)據(jù)庫的鏈接機器地址:db.getMongo()
操作集合的命令
不手動創(chuàng)建集合:
向不存在的集合中第?次加?數(shù)據(jù)時, 集合會被創(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 } )
參數(shù)capped: 默認(rèn)值為false表示不設(shè)置上限,值為true表示設(shè)置上限
參數(shù)size: 當(dāng)capped值為true時, 需要指定此參數(shù), 表示上限??,單位為字節(jié)
檔達到上限時, 會將之前的數(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: 存儲?個布爾值, 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ù)(了解):
前4個字節(jié)為當(dāng)前時間戳
接下來3個字節(jié)的機器ID
接下來的2個字節(jié)中MongoDB的服務(wù)進程id
最后3個字節(jié)是簡單的增量值
插入數(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(
參數(shù)query:查詢條件
參數(shù)update:更新操作符
參數(shù)multi:可選, 默認(rèn)是false,表示只更新找到的第?條記錄, 值為true表示把滿?條件的?檔全部更新
舉例:注意:"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(
參數(shù)query:可選,刪除的?檔的條件
參數(shù)justOne:可選, 如果設(shè)為true或1, 則只刪除?條, 默認(rèn)false, 表示刪除多條
上述內(nèi)容就是MongoDB中有哪些基礎(chǔ)命令,你們學(xué)到知識或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識儲備,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。