【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 }

 

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