MongoDB数据库中对数据库、集合和文档的操作


0 实验环境

OS:Windows10

MongoDB:MongoDB-3.4.4
网盘链接:https://pan.baidu.com/s/1tPUBNjlwqSdhCS89LpS6pQ
提取码:cwhk

可视化界面:mongodb-compass-1.28.4-win32-x64
网盘链接:https://pan.baidu.com/s/1GZA1Y66GnhtitF2OLzFkig
提取码:jz89

(以上软件均可从MongoDB官网免费下载使用)


1 数据库与集合操作

关于MongoDB数据库的操作与使用可以参考菜鸟教程中的MongoDB教程,讲述的非常详细!

1.1 MongoDB 创建数据库并显示所有数据库

(1)切换到wjwDB数据库,此时实际上并没有真正创建数据库,需要向其插入数据后,才默认创建:

use wjwDB

(2)向wjwcol集合中插入数据后,默认创建了此集合及数据库:

db.wjwcol.insert({"name":"wjw","content":"First test create Database!"})

(3)显示所有数据库:

show collections

在这里插入图片描述

1.2 创建集合,并查询数据库中的所有集合

(1)在wjwDB数据库中创建wjwcol2集合:

db.createCollection("wjwcol2")

(2)查询wjwDB数据库中的所有集合:

show collections

在这里插入图片描述


2 文档操作

(在之前创建的数据库与集合中进行)

2.1 文档插入

(1)利用insert方法插入单个文档,内容如下:

id:001, name: Alice, age:17
db.wjwcol2.insert({"id":"001","name":"Alice","age":"17"})

(2)利用save方法插入单个文档,内容如下:

id:002, name: Nancy, age:19
db.wjwcol2.save({"id":"002","name":"Nancy","age":"19"})

(3)批量插入两个文档,内容如下:
id:003, name:Harry, age:18
id:004, name:Purry, age:19

db.wjwcol2.insertMany([{"id":"003","name":"Harry","age":"18"},{"id":"004","name":"Purry","age":"19"}])

(4)定义任意变量,通过变量插入文档:
id:005, name: 张三, age:19

document2 = ({"id":"006","name":"王五","age":"18"})
db.wjwcol2.insert(document)

(5)插入单个文档,内容如下:
School:[{sname:hubu, saddress:wuhan}]

db.wjwcol2.insert({"school":[{"sname":"hubu","saddress":"wuhan"}]})

(6)插入完成后,查看插入的数据:

db.wjwcol2.find().pretty()

在这里插入图片描述

2.2 更新文档

(1)通过 update() 方法来更新上述文档的姓名(name): 将姓名(name)为Harry的文档更新为 “Potter”;

db.wjwcol2.update({"name":"Harry"},{$set:{"name":"Potter"}})

在这里插入图片描述
更新上述文档的年龄(age):将年龄(age)为19的文档全部更新为20。
此时需设置参数multi为true

db.wjwcol2.update({"age":"19"},{$set:{"age":"20"},{multi:true}})

在这里插入图片描述
(2)用save() 方法将上述文档中id为004的文档内容替换成:
id:004, name:‘李四’,age:21,email:[{“web”:sina, address:ls@sina.cn}, ({“web”:yahoo, address: ls@yahoo.cn})]

db.wjwcol2.save({
... "_id":ObjectId("6170bc60c3098b917c585c44"),
... "id":"004",
... "name":"李四",
... "age":"21",
... "email":[{"web":"sina","address":"ls@sina.cn"},({"web":"yahoo","address":"ls@yahoo.cn"})]
... })

注意:每个文档的_id属性不同!
在这里插入图片描述
在这里插入图片描述
(3)将上一个文档中的web :yahoo 修改为web: qq.

db.wjwcol2.save({ "_id":ObjectId("6170bc60c3098b917c585c44"), 
"id":"004", 
"name":"李四",
 "age":"21", "email":[{"web":"sina","address":"ls@sina.cn"},({"web":"qq","address":"ls@yahoo.cn"})]
 })

注意:每个文档的_id属性不同!
在这里插入图片描述

2.3 删除文档

(1)删除上述集合中name等于张三的一个文档。

db.wjwcol2.deleteOne({"name":"张三"})

(2)删除上述集合中age等于20的所有文档。

db.wjwcol2.deleteMany({"age":"20"})

(3)删除当前集合中的所有文档。

db.wjwcol2.deleteMany({})

在这里插入图片描述

2.4 删除集合、数据库
(1)删除创建的集合:

db.wjwcol2.drop()

在这里插入图片描述

(2)删除当前数据库:

db.dropDatabase()

在这里插入图片描述


总结:本文介绍了MongoDB数据库中数据库与集合操作(创建数据库与集合,并查询),及文档操作(文档插入、文档更新、文档删除)!

之前写的MongoDB数据库的有关博客:
安装MongodB数据库及简单操作

后续会继续更新有关MongoDB数据库的内容!
(注:第16次发文,如有错误和疑问,欢迎在评论区指出!)
——2021.10.24

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

雨落i

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值