国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 數(shù)據(jù)庫(kù) > MongoDB > 正文

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

2020-03-14 12:49:53
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

前言

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)。

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

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

1、MongoDB中的三要素

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

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è)屬性, 為_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í)間戳
  • 接下來(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'}) 更新一條,沒有更新的字段會(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ì)VEVB武林網(wǎng)的支持。


注:相關(guān)教程知識(shí)閱讀請(qǐng)移步到MongoDB頻道。
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 镇康县| 岳西县| 昭觉县| 太康县| 岳池县| 新宁县| 津南区| 云龙县| 新绛县| 安图县| 延寿县| 抚州市| 蓬安县| 贺州市| 大同县| 霸州市| 乳源| 黄浦区| 龙海市| 鞍山市| 鲁甸县| 北京市| 都兰县| 红原县| 四子王旗| 沽源县| 三台县| 冀州市| 锦州市| 营口市| 托克托县| 桃源县| 吉林市| 兖州市| 滁州市| 尤溪县| 探索| 会东县| 昌图县| 贺州市| 哈巴河县|