下載吧 - 綠色安全的游戲和軟件下載中心

          軟件下載吧

          當(dāng)前位置:軟件下載吧 > 數(shù)據(jù)庫 > DB2 > MongoDB基礎(chǔ)命令以及操作示例詳解

          MongoDB基礎(chǔ)命令以及操作示例詳解

          時(shí)間:2024-02-14 10:19作者:下載吧人氣:63

          前言

          Mongodb是一個(gè)非關(guān)系型數(shù)據(jù)庫軟件(NoSql),以類似json的形式bson存儲數(shù)據(jù),bson有二進(jìn)制的json的意思,官方說bson的效率更高,很適合存儲類似于對象的數(shù)據(jù),這里權(quán)當(dāng)把自己學(xué)習(xí)的過程記錄下來。

          關(guān)于MongoDB的安裝方法給大家推薦下面這幾篇文章:

          1、Linux下安裝MongoDB的實(shí)現(xiàn)步驟

          2、window下安裝配置mongodb的教程圖解

          3、Mac中mongoDB的安裝與卸載步驟詳解

          好了,下面開始本文的正文:

          MongoDB:NoSQL數(shù)據(jù)庫
          MongoDB中的重要指示點(diǎn)

          1、MongoDB中的三要素

          • 數(shù)據(jù)庫
          • 集合
          • 文檔

          2、MongoDB中的數(shù)據(jù)存儲是以Bson的形式存儲的,Bson是二進(jìn)制的json,所以看上去記錄的形式類似于json數(shù)據(jù)

          3、MongoDB中集合中的數(shù)據(jù)不同于關(guān)系型數(shù)據(jù)庫中的數(shù)據(jù),MongoDB中文檔結(jié)構(gòu)可以不同,因此擴(kuò)展性非常好

          MongoDB的優(yōu)點(diǎn):易擴(kuò)展、高性能、靈活的數(shù)據(jù)模型

          MongoDB的缺點(diǎn):數(shù)據(jù)重復(fù)存儲,占用空間大

          MongoDB啟動

          命令行(終端)啟動命令

          • mongod : 運(yùn)行服務(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ù)庫的鏈接機(jī)器地址:db.getMongo()

          操作集合的命令

          不手動創(chuàng)建集合:

          • 向不存在的集合中第⼀次加⼊數(shù)據(jù)時(shí), 集合會被創(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í), 需要指定此參數(shù), 表示上限⼤⼩,單位為字節(jié)
                檔達(dá)到上限時(shí), 會將之前的數(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: 存儲⼀個(gè)布爾值, true或false

          Integer: 整數(shù)可以是32位或64位, 這取決于服務(wù)器

          Double: 存儲浮點(diǎn)值

          Arrays: 數(shù)組或列表, 多個(gè)值存儲到⼀個(gè)鍵

          Object: ⽤于嵌⼊式的⽂檔, 即⼀個(gè)值為⼀個(gè)⽂檔

          Null: 存儲Null值

          Timestamp: 時(shí)間戳, 表示從1970-1-1到現(xiàn)在的總秒數(shù)

          Date: 存儲當(dāng)前⽇期或時(shí)間的UNIX時(shí)間格式

          注意事項(xiàng):

          創(chuàng)建⽇期語句如下 :參數(shù)的格式為YYYY-MM-DD每個(gè)⽂檔都有⼀個(gè)屬性, 為_id, 保證每個(gè)⽂檔的唯⼀性

          • new Date('2017-12-20')

          可以⾃⼰去設(shè)置_id插⼊⽂檔,如果沒有提供, 那么MongoDB為每個(gè)⽂檔提供了⼀個(gè)獨(dú)特的_id, 類型: objectID

          objectID是⼀個(gè)12字節(jié)的⼗六進(jìn)制數(shù)(了解):

          • 前4個(gè)字節(jié)為當(dāng)前時(shí)間戳
          • 接下來3個(gè)字節(jié)的機(jī)器ID
          • 接下來的2個(gè)字節(jié)中MongoDB的服務(wù)進(jìn)程id
          • 最后3個(gè)字節(jié)是簡單的增量值

          插入數(shù)據(jù)

          db.集合名稱.insert(document)插⼊⽂檔時(shí), 如果不指定_id參數(shù), MongoDB會為⽂檔分配⼀個(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ò)

          簡單查詢:

          db.集合名稱.find()

          更新

          語法:  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'}) 更新一條,沒有更新的字段會丟棄.
          • db.stu.update({name:'hr'},{$set:{name:'hys'}}) 更新一條
          • db.stu.update({},{$set:{gender:0}},{multi:true}) 更新全部

          刪除

          語法:  db.集合名稱.remove(<query>,{justOne: <boolean>})

          • 參數(shù)query:可選,刪除的⽂檔的條件
          • 參數(shù)justOne:可選, 如果設(shè)為true或1, 則只刪除⼀條, 默認(rèn)false, 表示刪除多條

          總結(jié):

          本篇文章到此結(jié)束,如果您有相關(guān)技術(shù)方面疑問可以聯(lián)系我們技術(shù)人員遠(yuǎn)程解決,感謝大家支持本站!

          標(biāo)簽MongoDB,基礎(chǔ),命令,以及,操作,示例,詳解

          相關(guān)下載

          查看所有評論+

          網(wǎng)友評論

          網(wǎng)友
          您的評論需要經(jīng)過審核才能顯示

          熱門閱覽

          最新排行

          公眾號

          主站蜘蛛池模板: 亚洲av高清在线观看一区二区| 亚洲熟妇无码一区二区三区 | 亚洲图片一区二区| 亚洲午夜在线一区| 国模无码一区二区三区不卡| 国产麻豆媒一区一区二区三区 | 亚洲国产成人久久一区WWW | 久久久久久人妻一区二区三区| 精品一区二区三区在线视频| 国产美女露脸口爆吞精一区二区| 国产综合无码一区二区色蜜蜜| 中文字幕AV一区二区三区| 亚欧色一区W666天堂| 国产在线精品一区二区在线观看| 国产一区二区三区亚洲综合| 日韩视频在线一区| 日韩精品一区二区三区在线观看l 日韩精品一区二区三区毛片 | 日韩十八禁一区二区久久| 国产主播福利精品一区二区| 成人无码精品一区二区三区| 无码丰满熟妇浪潮一区二区AV | 麻豆视频一区二区三区| 波多野结衣中文一区二区免费| 免费看无码自慰一区二区| 国产激情一区二区三区小说| 尤物精品视频一区二区三区| 婷婷亚洲综合一区二区| 天堂不卡一区二区视频在线观看| 精品福利一区3d动漫| 亚洲一区二区三区免费| 国产丝袜视频一区二区三区| 亚洲一区二区三区夜色| 韩国福利影视一区二区三区| 人妻视频一区二区三区免费| 国产一区中文字幕在线观看| 中文字幕人妻无码一区二区三区 | 骚片AV蜜桃精品一区| 国产福利一区二区三区在线观看 | 东京热无码av一区二区| 一区二区三区视频免费观看| 国产成人无码一区二区在线观看|