【Mongodb】 增刪改查

查看當前數據庫

db
----------------------------------


查看所有數據庫

show dbs / show databases

----------------------------------

切換數據庫

use db_name
# 注意 
use 如果後面數據庫不存在,會自動創建
但此時,show dbs 查詢不到
插入數據後方可查詢到
----------------------------------


刪除當前的數據庫

db.dropDatabase()

----------------------------------


手動創建集合

db.createCollection(name,optons)
db.createCollection("str")
db.createCollection("sub",{cappec:true,size:10})
參數:capped:默認值爲false表示不設置上限,值爲true表示設置上限
參數size: 當capped爲true時,需要設置此參數,表示上限大小,當文檔到上限時,會將之前數據覆蓋,單位爲字節

查看集合   show collections
刪除集合   db.集合名稱.drop()

----------------------------------

 

Mongodb 存儲數據類型

string : 字符串

Boolean:存儲一個布爾值

lnterger :整數 32位或64位

Double:存儲浮點值

Arrays:數組或列表,多個值存儲到一個鍵

object:用於嵌入式文檔,即一個值爲一個文檔

Null : 存儲一個空值

Timestamp:表示從1970-1-1到現在的秒數

Date:存儲當前日期或時間的unix時間格式

 

objectID 12字節的十六進制的數

  前4個字節:時間戳

  接下來3個字節:機器ID

  接下來2個字節中Mongodb服務進程ID

  最後三個字節簡單的增量值

 

> show dbs
admin  (empty)
local  0.078GB
zml    0.078GB
> use zml
switched to db zml
> db.createCollection("test1")
{ "ok" : 1 }
> db.test1.insert({"name":"zhangsan"})
WriteResult({ "nInserted" : 1 })
> db.test1.find()
{ "_id" : ObjectId("5f01d623b17ac23a4b796b9f"), "name" : "zhangsan" }
> db.test1.insert({_id:11111,name:"wanger",age:"12"})
WriteResult({ "nInserted" : 1 })
> db.test1.find()
{ "_id" : ObjectId("5f01d623b17ac23a4b796b9f"), "name" : "zhangsan" }
{ "_id" : 11111, "name" : "wanger", "age" : "12" }
> db.test1.insert({_id:11111,name:"wanger",age:"12"})
WriteResult({
	"nInserted" : 0,
	"writeError" : {
		"code" : 11000,
		"errmsg" : "insertDocument :: caused by :: 11000 E11000 duplicate key error index: zml.test1.$_id_  dup key: { : 11111.0 }"
	}
})
> db.test1.save({_id:11111,name:"wanger",age:"12"})
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 0 })
> db.test1.find()
{ "_id" : ObjectId("5f01d623b17ac23a4b796b9f"), "name" : "zhangsan" }
{ "_id" : 11111, "name" : "wanger", "age" : "12" }
> db.test1.save({_id:11111,name:"wanger",age:"13"})
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
> db.test1.find()
{ "_id" : ObjectId("5f01d623b17ac23a4b796b9f"), "name" : "zhangsan" }
{ "_id" : 11111, "name" : "wanger", "age" : "13" }

總結:db.集合名稱.insert({})  插入數據,沒有輸入ID就自動創建ID,有ID就按輸入的ID,如果ID已存在就報錯

           db.集合名稱.save({}),輸入相同的ID,則更新數據,不是存在的ID,則想當於插入數據

              

更新數據

db.集合名稱.update(<query>,<update>,{multi:<boolean>})

參數query:查詢條件

參數update:更新操作符

參數multi:可選,默認是false,表示只更新找到的第一條記錄

值爲true表示把滿足條件的文檔全部更新

db.stu.update({name:hr}),{name:mnc} ) 更新一條

db.stu.update({name:hr}),{$set:{name:mnc} }) 更新一條

db.stu.update({name:hr}),{$set:{name:mnc}},{multi:true})  更新一條

> db.test1.find()
{ "_id" : ObjectId("5f01d623b17ac23a4b796b9f"), "name" : "zhangsan" }
{ "_id" : 11111, "name" : "wanger", "age" : "13" }
{ "_id" : 11110, "name" : "wanger", "age" : "13" }
> db.test1.update({"name":"wanger"},{"name":"lisi"})
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
> db.test1.find()
{ "_id" : ObjectId("5f01d623b17ac23a4b796b9f"), "name" : "zhangsan" }
{ "_id" : 11111, "name" : "lisi" }
{ "_id" : 11110, "name" : "wanger", "age" : "13" }
> db.test1.update({"name":"wanger"},{$set:{"name":"lisi"}})
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
> db.test1.find()
{ "_id" : ObjectId("5f01d623b17ac23a4b796b9f"), "name" : "zhangsan" }
{ "_id" : 11111, "name" : "lisi" }
{ "_id" : 11110, "name" : "lisi", "age" : "13" }

刪除操作

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

參數query:可選,刪除的文檔條件

參數justOne:可選,如果設爲true或1,則只刪除一條,默認爲false,表示刪除多條

> db.test1.find()
{ "_id" : ObjectId("5f01d623b17ac23a4b796b9f"), "name" : "zhangsan" }
{ "_id" : 11111, "name" : "lisi" }
{ "_id" : 11110, "name" : "lisi", "age" : "13" }
{ "_id" : ObjectId("5f01ddb5b17ac23a4b796ba0"), "name" : "wanger", "age" : 12 }
{ "_id" : ObjectId("5f01ddbcb17ac23a4b796ba1"), "name" : "wangsan", "age" : 12 }
{ "_id" : ObjectId("5f01ddc5b17ac23a4b796ba2"), "name" : "wangsan", "age" : 14 }
{ "_id" : ObjectId("5f01ddc8b17ac23a4b796ba3"), "name" : "wangsan", "age" : 15 }
> db.test1.remove({name:"wangsan"},{justOne:true})
WriteResult({ "nRemoved" : 1 })
> db.test1.find()
{ "_id" : ObjectId("5f01d623b17ac23a4b796b9f"), "name" : "zhangsan" }
{ "_id" : 11111, "name" : "lisi" }
{ "_id" : 11110, "name" : "lisi", "age" : "13" }
{ "_id" : ObjectId("5f01ddb5b17ac23a4b796ba0"), "name" : "wanger", "age" : 12 }
{ "_id" : ObjectId("5f01ddc5b17ac23a4b796ba2"), "name" : "wangsan", "age" : 14 }
{ "_id" : ObjectId("5f01ddc8b17ac23a4b796ba3"), "name" : "wangsan", "age" : 15 }
> db.test1.remove({name:"wangsan"})
WriteResult({ "nRemoved" : 2 })
> db.test1.find()
{ "_id" : ObjectId("5f01d623b17ac23a4b796b9f"), "name" : "zhangsan" }
{ "_id" : 11111, "name" : "lisi" }
{ "_id" : 11110, "name" : "lisi", "age" : "13" }
{ "_id" : ObjectId("5f01ddb5b17ac23a4b796ba0"), "name" : "wanger", "age" : 12 }

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章