MongoDB基礎學習之增刪改查

MongoDB查詢學習

什麼是MongoDB

MongoDB是一個基於分佈式文件存儲系統的數據庫,由C++語言編寫,旨在爲WEB應用提供可擴展的高性能數據存儲解決方案sql

MongoDB數據之Document和BSON

  1. MongoDB中保存的數據格式爲BSON
-- key: value

{

name: "Tian",

age: 22,

status: "active"

}
  1. MongoDB中數據的基本單元稱爲文檔(Document),它是MongoDB的核心概念,由多個鍵及其關聯的值有序的放置在一塊兒組成,數據庫中它對應於關係型數據庫的行。
  2. BSON(Binary Serialized Document Format)是一種類json的一種二進制形式的存儲格式,簡稱Binary JSON。
  3. BSON和JSON同樣,支持內嵌的文檔對象和數組對象,可是BSON有JSON沒有的一些數據類型,如Date和BinData類型。
  4. BSON的優勢是靈活性高,但它的缺點是空間利用率不是很理想,BSON有三個特色:輕量性、可遍歷性、高效性。

MongoDB之插入文檔(增)

語法:db.collection.insert(document)數據庫

-- 1. 使用insert語句插入單個文檔

-- user

{

name: "Wang",

age: 22,

status: "active"

}

db.users.insert(user)

-- 2. 使用insert語句插入多個文檔

-- people

[{

name: "Li",

age: 22,

status: "active"

},{

name: "Cai",

age: 22,

status: "active"

}]

db.users.insert(people)

額外知識點json

  1. document是文檔數據,collection是存放文檔數據的集合
  2. 在執行插入文檔時,若是collection存在,document會添加到collection目錄下,若是collection不存在,數據庫會先建立collection,而後再保存插入document

MongoDB之查詢文檔(查)

  1. 在MongoDB中,查詢指向特定的文檔集合(collection)。
  2. 查詢文檔可設定查詢條件,返回符合條件的文檔數據。
  3. 查詢也能夠包含一個投影,指定返回的字段
-- 查詢過程當中指定了一個查詢條件和一個排序修飾符

db.users.find({age: {$gt: 18}}).sort({age: 1})

額外知識點數組

  1. 在關係型數據庫中,投影指的是對列的篩選,相似的,在MongoDB中,投影指的是對出如今結果集中的對象屬性的篩選
  2. MongoDB中查詢檢索數據時使用find命令,使用方法以下
-- 1. 語法

db.collection.find(criteria,projection)

-- 2. 參數

-- criteria:查詢條件,文檔類型,可選。

-- projection:返回的子彈,文檔類型,可選。若須要返回全部字段,則忽略此參數。

-- 例1:找出年齡大於18歲的人的姓名

db.users.find({age: {$gt: 18}}, {name: 1})

-- 例2:查詢當前集合全部文檔數據

db.users.find()

MongoDB之修改文檔(改)

  1. update命令能夠更新指定文檔的特定字段值,也能夠替換掉整個文檔,若是更新操做會增長文檔大小,MongoDB將從新分配空間並從新定位。
-- 1. 語法

db.collection.update(query, update, <p>upsert, multi)

-- 2. 參數

-- query:查詢條件,文檔,和find中的查詢條件寫法一致。

-- update:修改內容,文檔。

-- <p>upsert(可選):若是值爲true,那麼集合中沒有匹配的文檔時,建立文檔。默認false。

-- multi(可選):若是值爲true,那麼將更新所有符合條件的文檔,不然只更新查詢到的第一個文檔,默認false。

-- 例1:將users集合中的全部年齡大於18歲的文檔的name字段改成test

db.users.update({age: {$gt: 18}}, {$set: {"name": "test"}}, {multi: true})
  1. save命令能夠更新或插入一個新文檔,與update命令不一樣的是,save命令只能對一個文檔進行操做
-- 1. 語法

db.collection.save(document)

-- 2. 參數

-- document:新的文檔

-- 例1:在users集合中保存文檔{name: "Jenny", age: 22, sex: "girl"}

db.users.update({"name": "Jenny", "age": 22, "sex": "girl"})

MongoDB之刪除文檔(刪)

  1. remove命令能夠刪除文檔,刪除文檔能夠清理掉不須要的數據,釋放存儲空間,提高檢索效率,可是錯誤的刪除會是一場災難,所以執行數據刪除操做時須要很是的謹慎!
-- 1. 語法

db.collection.remove(query, justOne)

-- 2. 參數

-- query:BSON類型,用於查詢需被刪除的文檔

-- justOne:布爾類型,true:只刪除一個文檔,false:默認值,刪除全部符合條件的文檔

-- 例1:刪除users集合中名字爲Jenny的文檔

db.users.remove({"name": "Jenny"})
相關文章
相關標籤/搜索