学习MongoDB(二)
  TEZNKK3IfmPf 2023年11月14日 55 0

今天,小喵将要MongoDB入门了!

  不管是否成功入门,笔记还是不能少的,留痕工作还是要做的!

下面开始切入正题了!

一.基础概念

 为了使大家更好的学习,让我们对mongoDB有所了解,所以请认真看这篇博文,很重要的!

    在mongoDB中是通过数据库、集合、文档的方式来管理数据,下面让我们来看看mongoDB与关系型数据库的一些概念上的区别吧 :

      SQL 术语/概念              MongoDB  术语/概念               解释 /说明           
    database             database    数据库
    table             collection    数据库表  / 集合
    row             document    数据记录行 / 文档
    column             field     数据字段 / 域
    index             index     索引
    table   joins                  表连接 (MongoDB 不支持)
    primary  key             primary key     主键,MongoDB 自动在每个集合中添加_id的主键

   1. 一个MongoDB实例可以创建多个数据库

   2. 一个数据库可以创建多个集合

   3. 一个集合可以包括多个文档

小喵学的时候是跟MySQL数据库对比着来学习理解上面的几个术语的

  1) database   --- 数据库

  学习MongoDB(二)

    2) table / collections   --- 数据库表 / 集合

    学习MongoDB(二)

    3) row / document   --- 数据记录行 / 文档

        学习MongoDB(二)

 4) cloumn / field   ----数据字段 / 域

学习MongoDB(二)

这就是小喵对这几个术语的理解,大家可以参考一下哦!

温馨提示 : 以下操作,小喵是在 mongo.exe 里面完成的哦!

二 . 数据库操作 : 命令行

  1. 查询全部数据库

---- 查看全部数据库

show dbs

学习MongoDB(二)

 2. 显示当前数据库

    注 : 如果当前没有切换数据库 ,则默认显示 "test" , 小喵这里不巧刚好切换了一下数据库所以没办法显示效果了

--- 显示当前数据库

db

学习MongoDB(二)

3. 创建/切换 数据库 

    1) 数据库存在则进行切换,切换到此数据库,不存在则创建

      温馨提示 : 新创建的数据库不显示,需要至少包括一个集合.

---- 创建  / 切换 数据库

use 数据库名称


如果有则切换到数据库,没有则创建数据库,
但是刚创建的数据库是不显示的,需要至少包括一个集合

切换数据库:

学习MongoDB(二)

创建数据库 :

学习MongoDB(二)

在上图可以看到,我们创建了一个demo2 的数据库,但是由于里面没有包括一个集合,所以显示不出来

4. 删除数据库

注意 : 该步骤虽然放在了前面但是由于是一类所以放在了这里,需要至少包括一个集合后,数据库才可显示,那时候删除会比较明显.

--- 删除数据库 (慎用! 慎用! 慎用!  )

---- 重要的事情说三遍 

db.dropDatabase()

学习MongoDB(二)

三 . 集合操作 : 命令行

      集合相当于关系数据库中的表,一个数据库可以创建多个集合,一个集合是将相同类型的文档管理起来。

1. 创建集合

---- 创建集合

db.createCollection(name , options)
  name : 新创建的集合名称
  options : 创建参数


注 : 创建集合后,将可以通过 show dbs 命令 查看新创建的数据库

学习MongoDB(二)

2.删除集合

--- 删除集合

db.集合名称.drop()

--- 查看集合
show collections

学习MongoDB(二)

四 . 文档操作 : 命令行

mongodb 中 文档的格式是json格式,下面是一个样例,包括两个 key : _id主键 和 name

 {
  "_id" : ObjectId("5ee2deef058dbc714bb73e4c"),
  "name" : "苗小喵"
}

1)插入命令

   每个文档默认以_id作为主键,主键默认类型为ObjectId(对象类型)

     mongodb 会自动生成主键值

---插入命令

db.集合名称.insert(document)

学习MongoDB(二)

2)查询命令

--- 查询全部/所有

db.集合名称.find()


-- 查询符合条件的记录

db.集合名称.find(JSON条件)


-- 投影查询

db.集合名称.find(JOSN条件,{显示字段名:1,不显示字段名:0,..})

2.1)查询全部/所有学习MongoDB(二)

2.2)查询符合条件的记录

学习MongoDB(二)

2.3)投影查询

学习MongoDB(二)

3)更新文档

---  更新文档

db.collection.update(
	<query>,
	<update>,
	<options>
)
query:查询条件,相当于sql语句的where
update:更新文档内容
options:选项

3.1)替换文档

--- 替换文档


db.集合名称.update({替换条件},}{替换内容/替换后的样子})




--例子 :
-- 将符合条件 "name":"张三"的第一个文档替换为{"name":"张3","age":21}。
db.student.update({"name":"张三"},{"name":"张3","age":21})

学习MongoDB(二)

3.2)$set 修改器

使用$set修改器指定要更新的key,key不存在则创建,存在则更新。


db.monkey.update({修改条件},{$set: 更新内容})

学习MongoDB(二)

3.3) multi 替换所有

--- 替换所有  

   multi:false表示更新第一个匹配的文档,true表示更新所有匹配的文档。

样例 :


  db.student.update({"name":"张三"},{$set:{ "age":15}},{multi:true})

学习MongoDB(二)

学习MongoDB(二)

4)删除文档

db.集合名称.remove(<query>)
query:删除条件,相当于sql语句中的where



--删除符合条件的文档
db.集合名称.remove(JSON条件)


-- 通过id删除
db.集合名称.remove(JSON条件中书写_id)


-- 删除所有文档
db.集合名称.remove()


学习MongoDB(二)

学习MongoDB(二)

学习MongoDB(二)

五.用户操作 : 命令行

    5.1) 创建用户

--- 语法格式

db.createUser({ 
	user: "<name>",
	pwd: "<cleartext password>",
	customData: { <any information> },
	roles: [
		{ role: "<role>", db: "<database>" } | "<role>",
		...
	]
})

--注意: 如果想让用户管理哪个数据库,则需要先切换到该数据库 

--- 样例

-- 在admin数据库下,创建root用户,角色为root
use admin
db.createUser({
	user:"root",
	pwd:"root",
	roles:[{role:"root",db:"admin"}]
})

内置角色

角色分类                                 取值                
超级用户角色  root
数据库用户角色  read
   readWrite
数据库管理角色 dbAdmin
  dbOwner
  userAdmin
集群管理角色 clusterAdmin
  clusterManager
  hostManager
  clusterMonitor
备份恢复角色 backup
  restore
所有数据库角色 readAnyDatabase
  readWriteAnyDatabase
  userAdminAnyDatabase
  dbAdminAnyDatabase

    5.2)查询用户

-- 查看当前数据库下的所有用户
show users

学习MongoDB(二)

        5.3) 修改用户

-- 语法格式
db.updateUser(
"<username>",
{
	customData : { <any information> },
	roles : [
		{ role: "<role>", db: "<database>" } | "<role>",
		...
	],
	pwd: "<cleartext password>"
},
writeConcern: { <write concern> }
)

学习MongoDB(二)

        5.4)修改密码

-- 语法格式

db.changeUserPassword("username","newPasswd")

-- 样例

-- 修改root用户的密码为1234
use admin
db.changeUserPassword("root","1234")

        5.5)删除用户

-- 语法格式
db.dropUser("用户名")


--样例
db.dropUser("root")

这些就是小喵学习到的MongoDB的一些操作哦!

希望小喵的文章可以对你有所帮助哦!

最后,请给在每天进步的自己加油!

(^_^)~喵~!!

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月14日 0

暂无评论

推荐阅读
  TEZNKK3IfmPf   2023年11月14日   56   0   0 mongodb
  TEZNKK3IfmPf   2023年11月14日   19   0   0 mongodb
  TEZNKK3IfmPf   2023年11月14日   22   0   0 mongodbmysql
  TEZNKK3IfmPf   2023年11月15日   41   0   0 shiromongodb
  TEZNKK3IfmPf   2023年11月15日   29   0   0 mongodbjava
  TEZNKK3IfmPf   2024年03月29日   57   0   0 mongodb
  TEZNKK3IfmPf   2023年11月15日   26   0   0 mongodb
TEZNKK3IfmPf