MongoDB 入门教程

叁歲伎倆 2023-07-09 02:29 134阅读 0赞

一.下载

1.MongoDB

2.MongoDB Compass(MongoDB的客户端)

二.安装

1.MongoDB

2.MongoDB Compass

三.Compass连接MongoDB

1.创建MongoDB数据库连接

2.创建数据库

四.Spring整合MongoDB

1.添加依赖

2.修改application.yml配置

3.添加文档对象MProduct

4.添加MProductRepository接口用于操作Mongodb

5.添加MProductService接口和MProductServiceImpl实现类

6.添加MProductController控制器

7.Mongo注解

8.接口测试



一.下载

1.MongoDB

https://www.mongodb.com/download-center/community

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MjAzMjE5OQ_size_16_color_FFFFFF_t_70

2.MongoDB Compass(MongoDB的客户端)

https://www.mongodb.com/download-center/compass

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MjAzMjE5OQ_size_16_color_FFFFFF_t_70 1

20200227175015494.png

二.安装

1.MongoDB

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MjAzMjE5OQ_size_16_color_FFFFFF_t_70 2

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MjAzMjE5OQ_size_16_color_FFFFFF_t_70 3

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MjAzMjE5OQ_size_16_color_FFFFFF_t_70 4

“install mongoDB compass” 不勾选,后面自己安装

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MjAzMjE5OQ_size_16_color_FFFFFF_t_70 5

安装完后启动查看版本

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MjAzMjE5OQ_size_16_color_FFFFFF_t_70 6

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MjAzMjE5OQ_size_16_color_FFFFFF_t_70 7

创建配置文件

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MjAzMjE5OQ_size_16_color_FFFFFF_t_70 8

  1. systemLog:
  2. destination: file
  3. path: D:\soft\MongoDB\log\mongod.log
  4. storage:
  5. dbPath: D:\soft\MongoDB\data\db

确保上面配置的文件夹对应的路径是有的,没有则创建(创建data\db和log两个文件夹)

安装服务

用管理员权限 打开命令行执行

  1. D:\soft\MongoDB\bin\mongod.exe --config "D:\soft\MongoDB\mongod.cfg" --install

2020022718500389.png

另外在无需管理员权限的命令窗口启动/关闭服务

20200227185336917.png

相关命令

  1. 删除服务:sc delete MongoDB
  2. 启动服务:net start MongoDB
  3. 关闭服务:net stop MongoDB
  4. 移除服务:D:\soft\MongoDB\bin\mongod.exe --remove

2.MongoDB Compass

20200228095613549.png

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MjAzMjE5OQ_size_16_color_FFFFFF_t_70 9

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MjAzMjE5OQ_size_16_color_FFFFFF_t_70 10

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MjAzMjE5OQ_size_16_color_FFFFFF_t_70 11

安装完后启动

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MjAzMjE5OQ_size_16_color_FFFFFF_t_70 12

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MjAzMjE5OQ_size_16_color_FFFFFF_t_70 13

三.Compass连接MongoDB

1.创建MongoDB数据库连接

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MjAzMjE5OQ_size_16_color_FFFFFF_t_70 14

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MjAzMjE5OQ_size_16_color_FFFFFF_t_70 15

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MjAzMjE5OQ_size_16_color_FFFFFF_t_70 16

2.创建数据库

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MjAzMjE5OQ_size_16_color_FFFFFF_t_70 17

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MjAzMjE5OQ_size_16_color_FFFFFF_t_70 18

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MjAzMjE5OQ_size_16_color_FFFFFF_t_70 19

四.Spring整合MongoDB

1.添加依赖

  1. <!---mongodb相关依赖-->
  2. <dependency>
  3. <groupId>org.springframework.boot</groupId>
  4. <artifactId>spring-boot-starter-data-mongodb</artifactId>
  5. </dependency>

2.修改application.yml配置

spring:data节点下添加Mongodb相关配置

  1. #MongoDB配置
  2. mongodb:
  3. host: localhost
  4. port: 27017
  5. database: ak-mall

3.添加文档对象MProduct

文档对象的ID域添加@Id注解,需要检索的字段添加@Indexed注解。

  1. @Data
  2. @Document
  3. public class MProduct implements Serializable {
  4. private static final long serialVersionUID = -1296261179864925924L;
  5. @Id
  6. private String id;
  7. @Indexed
  8. private String brandId;
  9. private String name;
  10. private Date createTime;
  11. }

4.添加MProductRepository接口用于操作Mongodb

  1. /**
  2. * 继承MongoRepository接口,这样就拥有了一些基本的Mongodb数据操作方法,同时定义了一个衍生查询方法
  3. */
  4. public interface MProductRepository extends MongoRepository<MProduct, Long> {
  5. /**
  6. * 根据品牌Id查询产品并倒序
  7. *
  8. * @param brandId 品牌Id
  9. */
  10. List<MProduct> findByBrandIdOrderByCreateTimeDesc(String brandId);
  11. }

5.添加MProductService接口和MProductServiceImpl实现类

  1. public interface MProductService {
  2. /**
  3. * 生成产品
  4. */
  5. int create(MProduct mProduct);
  6. /**
  7. * 批量删除
  8. */
  9. int delete(List<String> ids);
  10. /**
  11. * 根据brandId获取产品
  12. */
  13. List<MProduct> list(String brandId);
  14. }
  15. @Service
  16. public class MProductServiceImpl implements MProductService {
  17. @Autowired
  18. private MProductRepository mProductRepository;
  19. @Override
  20. public int create(MProduct mProduct) {
  21. mProduct.setId(null);
  22. mProduct.setCreateTime(new Date());
  23. mProductRepository.save(mProduct);
  24. return 1;
  25. }
  26. @Override
  27. public int delete(List<String> ids) {
  28. List<MProduct> deleteList = new ArrayList<>();
  29. for (String id : ids) {
  30. MProduct mProduct = new MProduct();
  31. mProduct.setId(id);
  32. deleteList.add(mProduct);
  33. }
  34. mProductRepository.deleteAll(deleteList);
  35. return ids.size();
  36. }
  37. @Override
  38. public List<MProduct> list(String brandId) {
  39. return mProductRepository.findByBrandIdOrderByCreateTimeDesc(brandId);
  40. }
  41. }

6.添加MProductController控制器

  1. @Api(tags = "MProductController", description = "Mongo-产品控制器")
  2. @RestController
  3. @RequestMapping("/m/product")
  4. public class MProductController {
  5. @Autowired
  6. private MProductService mProductService;
  7. @ApiOperation("创建产品")
  8. @RequestMapping(value = "/create", method = RequestMethod.POST)
  9. public CommonResult create(@RequestBody MProduct mProduct) {
  10. int count = mProductService.create(mProduct);
  11. if (count > 0) {
  12. return CommonResult.success(count);
  13. } else {
  14. return CommonResult.failed();
  15. }
  16. }
  17. @ApiOperation("删除产品")
  18. @RequestMapping(value = "/delete", method = RequestMethod.POST)
  19. @ResponseBody
  20. public CommonResult delete(@RequestParam("ids") List<String> ids) {
  21. int count = mProductService.delete(ids);
  22. if (count > 0) {
  23. return CommonResult.success(count);
  24. } else {
  25. return CommonResult.failed();
  26. }
  27. }
  28. @ApiOperation("根据brandId获取产品")
  29. @RequestMapping(value = "/list", method = RequestMethod.GET)
  30. @ResponseBody
  31. public CommonResult<List<MProduct>> list(String brandId) {
  32. List<MProduct> mProductList = mProductService.list(brandId);
  33. return CommonResult.success(mProductList);
  34. }
  35. }

7.Mongo注解

  1. @Document:标示映射到Mongodb文档上的领域对象
  2. @Id:标示某个域为ID
  3. @Indexed:标示某个字段为Mongodb的索引字段

8.接口测试

创建产品

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MjAzMjE5OQ_size_16_color_FFFFFF_t_70 20

查询产品

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MjAzMjE5OQ_size_16_color_FFFFFF_t_70 21

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MjAzMjE5OQ_size_16_color_FFFFFF_t_70 22

删除产品

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MjAzMjE5OQ_size_16_color_FFFFFF_t_70 23

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MjAzMjE5OQ_size_16_color_FFFFFF_t_70 24

发表评论

表情:
评论列表 (有 0 条评论,134人围观)

还没有评论,来说两句吧...

相关阅读

    相关 Mongodb教程

    数据库切换 查看当前数据库名称 db 查看所有数据库名称 列出所有在物理上存在的数据库 show dbs 切换数据库