没有合适的资源?快使用搜索试试~ 我知道了~
MongoDB入门以及实现微聊即时通讯功能.docx
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 28 浏览量
2023-10-18
10:34:06
上传
评论
收藏 817KB DOCX 举报
温馨提示
试读
48页
MongoDB入门 MongoDB的java api的使用 SpringBoot整合MongoDB使用 搭建微聊系统 实现微聊功能 分布式WebSocket解决方案分析
资源推荐
资源详情
资源评论
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#拉取镜像
docker pull mongo:4.0.3
#创建容器
docker create --name mongodb -p 27017:27017 -v /data/mongodb:/data/db mongo:4.0.3
#启动容器
docker start mongodb
#进入容器
docker exec -it mongodb /bin/bash
#使用MongoDB客户端进行操作
mongo
>
show dbs #查询所有的数据库
admin
config
local
0.000GB
0.000GB
0.000GB
课程介绍
MongoDB入门
MongoDB的java api的使用
SpringBoot整合MongoDB使用搭
建微聊系统
实现微聊功能
分布式WebSocket解决方案分析
1、MongoDB入门
、MongoDB简介
MongoDB是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储
解决方案。
MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库
的,它支持的数据结构非常松散,是类似json的bson格式,因此可以存储比较复杂的数据类型。
MongoDB最大的特点是它支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似
关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。
官网:https://www.mongodb.com
、通过docker安装MongoDB
、MongoDB基本操作
、基本概念
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#查看所有的数据库
>
show dbs
admin
config
local
0.000GB
0.000GB
0.000GB
#通过use关键字切换数据库
>
use admin
switched to db admin
#创建数据库
#说明:在MongoDB中,数据库是自动创建的,通过use切换到新数据库中,进行插入数据即可自动创建数据库
>
use testdb
switched to db testdb
>
show dbs #并没有创建数据库
admin
config
local
0.000GB
0.000GB
0.000GB
>
db.user.insert({id:1,name:'zhangsan'} ) #插入数据
WriteResult({ "nInserted" : 1 })
>
show dbs
为了更好的理解,下面与SQL中的概念进行对比:
SQL术语/概念
MongoDB术语/概念
解释/说明
database
database
数据库
table
collection
数据库表/集合
row
document
数据记录行/文档
column
field
数据字段/域
index
index
索引
table joins
表连接,MongoDB不支持
primary key
primary key
主键,MongoDB自动将_id字段设置为主键
、数据库以及表的操作
1
#插入数据
2
3
4
5
6
7
8
9
10
#语法:db.COLLECTION_NAME.insert(document)
>
db.user.insert({id:1,username:'zhangsan',age:20})
WriteResult({ "nInserted" : 1 })
>
db.user.save({id:2,username:'lisi',age:25})
WriteResult({ "nInserted" : 1 })
>
db.user.find() #查询数据
{ "_id" : ObjectId("5c08c0024b318926e0c1f6dc"), "id" : 1, "username" : "zhangsan",
"age" : 20 }
{ "_id" : ObjectId("5c08c0134b318926e0c1f6dd"), "id" : 2, "username" : "lisi",
"age" : 25 }
11
、新增数据
在MongoDB中,存储的文档结构是一种类似于json的结构,称之为bson(全称为:Binary JSON)。
、更新数据
update()
方法用于更新已存在的文档。语法格式如下:
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
admin
config
local
testdb
0.000GB
0.000GB
0.000GB
0.000GB #数据库自动创建
#查看表
>
show tables
user
>
show collections
user
>
#删除集合(表)
>
db.user.drop()
true #如果成功删除选定集合,则 drop() 方法返回 true,否则返回 false。
#删除数据库
>
use testdb #先切换到要删除的数据中
switched to db testdb
>
db.dropDatabase() #删除数据库
{ "dropped" : "testdb", "ok" : 1 }
>
show dbs
admin
config
local
0.000GB
0.000GB
0.000GB
1
db.collection.update(
2
<query>,
3
<update>,
4 [
5
upsert: <boolean>,
6
multi: <boolean>,
7
writeConcern: <document>
8 ]
9 )
参数说明:
query : update的查询条件,类似sql update查询内where后面的。
update : update的对象和一些更新的操作符(如 inc...)等,也可以理解为sql update查询内set后面的
upsert : 可选,这个参数的意思是,如果不存在update的记录,是否插入objNew,true为插入,默认是
false,不插入。
multi : 可选,mongodb 默认是false,只更新找到的第一条记录,如果这个参数为true,就把按条件查出来多条
记录全部更新。
writeConcern :可选,抛出异常的级别。
1 > db.user.find()
2 { "_id" : ObjectId("5c08c0024b318926e0c1f6dc"), "id" : 1, "username" : "zhangsan",
"age" : 20 }
3 { "_id" : ObjectId("5c08c0134b318926e0c1f6dd"), "id" : 2, "username" : "lisi",
"age" : 25 }
4
5 > db.user.update({id:1},{$set:{age:22}}) #更新数据
6
7
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
8
9
> db.user.find()
10
{ "_id" : ObjectId("5c08c0024b318926e0c1f6dc"), "id" : 1, "username" : "zhangsan",
"age" : 22 }
11
{ "_id" : ObjectId("5c08c0134b318926e0c1f6dd"), "id" : 2, "username" : "lisi",
"age" : 25 }
12
13
#注意:如果这样写,会删除掉其他的字段
14
> db.user.update({id:1},{age:25})
15
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
16
> db.user.find()
17
{ "_id" : ObjectId("5c08c0024b318926e0c1f6dc"), "age" : 25 }
18
{ "_id" : ObjectId("5c08c0134b318926e0c1f6dd"), "id" : 2, "username" : "lisi",
"age" : 25 }
19
20
#更新不存在的字段,会新增字段
21
> db.user.update({id:2},{$set:{sex:1}}) #更新数据
22
> db.user.find()
23
{ "_id" : ObjectId("5c08c0024b318926e0c1f6dc"), "age" : 25 }
24
{ "_id" : ObjectId("5c08c0134b318926e0c1f6dd"), "id" : 2, "username" : "lisi",
"age" : 25, "sex" : 1 }
25
26 #更新不存在的数据,默认不会新增数据
1
db.collection.remove(
2
<query>,
3 {
4
justOne: <boolean>,
5
writeConcern: <document>
6 }
7 )
1
2
3
4
5
6
7
8
9
>
db.user.remove({age:25})
WriteResult({ "nRemoved" : 2 }) #删除了2条数据
#插入4条测试数据
db.user.insert({id:1,username:'zhangsan',age:20})
db.user.insert({id:2,username:'lisi',age:21})
db.user.insert({id:3,username:'wangwu',age:22})
db.user.insert({id:4,username:'zhaoliu',age:22})
、删除数据
通过remove()方法进行删除数据,语法如下:
参数说明:
query
:(可选)删除的文档的条件。
justOne : (可选)如果设为 true 或 1,则只删除一个文档,如果不设置该参数,或使用默认值 false,则
删除所有匹配条件的文档。
writeConcern :(可选)抛出异常的级别。
实例:
27
> db.user.update({id:3},{$set:{sex:1}})
28
WriteResult({ "nMatched" : 0, "nUpserted" : 0, "nModified" : 0 })
29
> db.user.find()
30
{ "_id" : ObjectId("5c08c0024b318926e0c1f6dc"), "age" : 25 }
31
{ "_id" : ObjectId("5c08c0134b318926e0c1f6dd"), "id" : 2, "username" : "lisi",
"age" : 25, "sex" : 1 }
32
33
#如果设置第一个参数为true,就是新增数据
34
> db.user.update({id:3},{$set:{sex:1}},true)
35
WriteResult({
36
"nMatched" : 0,
37
"nUpserted" : 1,
38
"nModified" : 0,
39
"_id" : ObjectId("5c08cb281418d073246bc642")
40 })
41
> db.user.find()
42
{ "_id" : ObjectId("5c08c0024b318926e0c1f6dc"), "age" : 25 }
43
{ "_id" : ObjectId("5c08c0134b318926e0c1f6dd"), "id" : 2, "username" : "lisi",
"age" : 25, "sex" : 1 }
44 { "_id" : ObjectId("5c08cb281418d073246bc642"), "id" : 3, "sex" : 1 }
45
剩余47页未读,继续阅读
资源评论
小小哭包
- 粉丝: 1902
- 资源: 3908
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功