MongoDB 之 手把手教你增刪改查 MongoDB - 2

咱們在  MongoDB 之 你得知道MongoDB是個什麼鬼 MongoDB - 1  中學習了若是安裝部署一個 MongoDBhtml

若是沒看到個人金玉良言的話,就從新打開一次客戶端和服務端吧數據庫

本章咱們來學習一下關於 MongoDB的增刪改查post

一.MongoDB操做 之 原生ORM,根本不存在SQL語句學習

建立數據庫:這裏和通常的關係型數據庫同樣,都要先創建一個本身的數據庫空間spa

嗯嗯嗯嗯,我感覺到了你心裏的驚呼,瞅瞅大家這些沒見過世面的樣子設計

是的,MongoDB設計的比較隨意,沒有就認爲你是在建立,use LuffyCity_Com是不存在的,因此MongoDB就認爲你是要建立並使用3d

這個概念必定要記清楚哦,MongoDB中若是你使用了不存在的對象,那麼就等於你在建立這個對象哦code

使用了不存在的對象,就表明建立對象,咱們使用這一謬論建立一張表(Collection)試試htm

看來真的不是謬論,真的成功的建立了一個Oldboy的Collection對象

那麼接下來就是在表(Collection)中添加一條數據了,怎麼添加呢?

二.MongoDB 之 插入數據(insert     insertOne     insertMany) 之 Collection 點兒出一切操做 之 insert

insert:插入一條或者多條數據,須要帶有容許插入多條的參數,這個方法目前官方已經不推薦嘍

db.Oldboy.insert({"name":"DragonFire","age":20})

insertOne: 插入一條數據,官方推薦

咱們能夠看出來兩種方法的返回值大相徑庭對吧

insertMany:插入多條數據,無需參數控制,官方推薦

 

這就是咱們向LuffyCity_Com.Oldboy中插入了多條數據:

[{
  "name":"DragonFire", "age":20 },
{
 "name":"WuSir",
 "age":19
}]

這裏留下一個數據類型的懸念

插入完成就要查詢

三.MongoDB  之  查詢數據(find findOne) 之 這裏沒有findMany

這裏不是select,若是你的第一反應是select 證實你關係型數據庫沒白學

find() 無條件查找:將該表(Collection)中全部的數據一次性返回

db.Oldboy.find({name:"WuSir2b"}) 條件查找:name等於WuSir2b的數據,這裏會返回多條結果

說到這裏,有的同窗不由要問一下:"_id":ObjectId("亂七八糟一道對看着毫無關係的一對字符串") 是什麼,咱們插入的時候並無一個字段(Field)並無_id這個,

對了這就是MongoDB自動給咱們添加到系統惟一標識"_id" 是一個ObjectId 類型,咱們會在數據類型中第一個說到他(MongoDB 之 數據類型 最無聊! But 最有用! MongoDB - 3)

findOne()無條件查找一條數據,默認當前Collection中的第一條數據

findOne({age:19}) : 條件查找一條age等於19的數據,若有多條數據則返回更靠前的數據

查詢數據的時候,發現了有些數據出現錯誤了,要修改怎麼辦呢?

 

四.MongoDB 之 修改數據(update updateOne updateMany) 之 跟insert同樣,不推薦update的寫法

update({"name":"DragonFire"},{$set:{"age":21}}):根據條件修改該條數據的內容

把name等於DragonFire中的age改成21,這裏要注意的是({"條件"},{"關鍵字":{"修改內容"}}),其中若是條件爲空,那麼將會修改Collection中全部的數據

關於$set關鍵字的解釋就是,本節最後再說,留個懸念

updateOne({"age":19},{$set:{"name":"WSSB"}}):根據條件修改一條數據的內容,如出現多條,只修改最高前的數據

把age等於19的全部數據中第一條數據的name改成WSSB

updateMany({"age":19},{$set:{"name":"pig_qi"}}):根據條件修改全部數據的內容,多條修改

把age等於19的全部數據中的name改成WSSB

上述中有一個$set的懸念,這個懸念呀,可能要留到再日後一些了

可是$set:{"name":"WSSB"}我仍是要解釋一下: $set 是update時的關鍵字,表示我要設置name屬性的值爲"WSSB"

那麼咱們以前說過MongoDB的靈活性,沒有就表明我要建立,因此說若是該條Documents沒有name屬性,他就會自動建立一個name屬性而且賦值爲"WSSB"

更改了半天,我以爲,這些數據我都不想要了,該怎麼辦呢?

 

四.MongoDB  之  刪除數據(remove) 之 若是你什麼都不寫,你講失去所有的生命力

remove({}):無條件刪除數據,這裏要注意了,這是刪除全部數據,清空Collection

固然了,我如今還不會操做,你看到的截圖是我所有都寫完以後的截圖,若是跟着操做的話,那麼你實在是太傻了,哈哈哈哈哈哈哈哈

 

若是你的數據全沒了,那麼請再練習一次insertMany([{"name":"DragonFire"}])吧,你多練習一次,總比立刻忘記要強吧

remove({"name":"DragonFire"}) : 條件刪除name等於"DragonFire"的全部Document

那麼到這裏呢,增刪改查就已經完事兒了

以後咱們來講一下MongoDB的數據類型,跟大家透漏一下,MongoDB的數據類型,老(te)有(bie)意(wu)思(liao)了

相關文章
相關標籤/搜索