Mongodb

Mongodb下载与安装

Windows版Mongo下载

Windows版Mongo安装

  • 解压缩后设置数据目录
  • 通常放置在安装目录中,此处创建data的目录用来存储数据

Windows版Mongo启动(在bin目录下)

  • 启动服务器
mongod --dbpath=..\data\db

启动服务器时需要指定数据存储位置,通过参数–dbpath进行设置,可以根据需要自行设置数据存储路径。默认服务端口27017。

  • 启动客户端
mongo --host=127.0.0.1 --port=27017

image-20220312155953144

Windows版Mongo安装问题及解决方案

image-20220312101629299

  • 步骤一:下载对应的dll文件(通过互联网搜索即可)

  • 步骤二:拷贝到windows安装路径下的system32目录中

  • 步骤三:执行命令注册对应dll文件

    regsvr32 vcruntime140_1.dll

可视化客户端——Robo 3T 官网下载

Robot3t是一款绿色软件,无需安装,解压缩即可。解压缩完毕后进入安装目录双击robot3t.exe即可使用。

在这里插入图片描述

打开软件首先要连接MongoDB服务器,选择【File】菜单,选择【Connect…】

image-20220224115202422

进入连接管理界面后,选择左上角的【Create】链接,创建新的连接设置

在这里插入图片描述

如果输入设置值即可连接(默认不修改即可连接本机27017端口)

image-20220224115300266

小结:

  1. Mongodb安装、启动
  2. 可视化客户端Robo 3T安装与连接

Mongodb基础操作

创建数据库:在左侧菜单中使用右键创建,输入数据库名称即可

创建集合:在Collections上使用右键创建,输入集合名称即可,集合等同于数据库中的表的作用

新增文档:(文档是一种类似json格式的数据,初学者可以先把数据理解为就是json数据)

db.集合名称.insert/save/insertOne(文档)

db.book.save({name: "张三"})
db.book.save({name: "张三",type: "zs"})

删除文档:

db.集合名称.remove(条件)

修改文档:

db.集合名称.update(条件,{操作种类:{文档}})

例:

// 添加
//db.book.save({name: "张三"})
//db.book.save({name: "张三",type: "zs"})

//修改
db.book.update({type: "zs"},{name: "张三峰"})

//删除
//db.book.deleteOne({type: "zs"})

查询文档:

基础查询
查询全部: db.集合.find();
查第一条: db.集合.findOne()
查询指定数量文档: db.集合.find().limit(10) //查10条文档
跳过指定数量文档: db.集合.find().skip(20) //跳过20条文档
统计: db.集合.count()
排序: db.集合.sort({age:1}) //按age升序排序
投影: db.集合名称.find(条件,{name:1,age:1}) //仅保留name与age域

条件查询
基本格式: db.集合.find({条件})
模糊查询: db.集合.find({域名:/正则表达式/}) //等同SQL中的like,比like强大,可以执行正则所有规则
条件比较运算: db.集合.find({域名:{$gt:值}}) //等同SQL中的数值比较操作,例如:name>18
包含查询: db.集合.find({域名:{$in:[值1,值2]}}) //等同于SQL中的in
条件连接查询: db.集合.find({$and:[{条件1},{条件2}]}) //等同于SQL中的and、or

SpringBoot整合Mongodb

步骤①:导入springboot整合MongoDB的starter坐标

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-mongodb</artifactId>
</dependency>

上述坐标也可以在创建模块的时候通过勾选的形式进行选择,同样归属NoSQL分类中

image-20220830084540320

步骤②:进行基础配置

spring:
data:
mongodb:
uri: mongodb://localhost/itheima

操作MongoDB需要的配置与操作redis一样,最基本的信息都是操作哪一台服务器,区别就是连接的服务器IP地址和端口不同,书写格式不同而已。

步骤③:使用springboot整合MongoDB的专用客户端接口MongoTemplate来进行操作

@SpringBootTest
class Springboot17MongodbApplicationTests {
@Autowired
private MongoTemplate mongoTemplate;
@Test
void contextLoads() {
Book book = new Book();
book.setId(2);
book.setName("springboot2");
book.setType("springboot2");
book.setDescription("springboot2");
mongoTemplate.save(book);
}
@Test
void find(){
List<Book> all = mongoTemplate.findAll(Book.class);
System.out.println(all);
}
}