首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

补习系列(16)-springboot mongodb 数据库应用技巧

MongoDB 目前非常流行,在最近的DB-Engine排名中居第5位,仅次于传统的关系型数据库如 Oracle、Mysql。 ?...从下之上,分别是: 数据库层; 驱动层(JDBC/Driver); ORM层(Repository); 三、整合 MongoDB CRUD 接下来的篇幅,主要针对如何在项目中使用框架进行MongoDB...数据操作 ORM 框架可以让你通过操作对象来直接影响数据,这样一来,可以大大减少上手的难度,你不再需要熟悉大量驱动层的API了。...return null; } return bookRepository.findOneByTitle(title); } /** * 获取投票排行列表...自定义序列化 一些基础的字段类型,如 int 、long、string,通过JDK 装箱类就可以完成, 对于内嵌的对象类型,SpringDataMongo框架会将其转换为 DBObject对象(java

1.8K41

SpringBoot 整合 MongoDB 实现数据的增删改查!

数据库(Database):和关系型数据库一样,每个数据库中有自己的用户权限,不同的项目组可以使用不同的数据库 集合(Collection): 集合指的是文档组(类似于 Mysql 中的表的概念),里面可以存储许多文档...System.out.println("查询结果:" + result.toString()); } } 根据条件查询集合中符合条件的文档,获取其文档列表并排序 @RunWith(SpringRunner.class...; /** * 根据条件查询集合中符合条件的文档,获取其文档列表并排序 */ @Test public void findByConditionAndSort.../ 获取集合中所有列表 ListIndexesIterable indexList = mongoTemplate.getCollection("persons")....("索引列表:" + document); } } } 我们还可以通过在实体类上加注解方式来创建索引 /** * 使用@Document注解指定集合名称 */ @Document

4K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    【探花交友】学习MongoDB快速入门上手

    具体特点总结如下: 面向集合存储,易于存储对象类型的数据 模式自由 支持动态查询 支持完全索引,包含内部对象 支持复制和故障恢复 使用高效的二进制数据存储,包括大型对象(...,语法与JavaScript的正则表达式相 同,{“x”:/[abc]/} 数组:数据列表或数据集可以表示为数组,{“x”: [“a“,“b”,”c”]} 内嵌文档:文档可以嵌套其他文档,被嵌套的文档作为值来处理...它不能直接在shell中使用。如果要 将非utf-字符保存到数据库中,二进制数据是唯一的方式。...update : update的对象和一些更新的操作符(如,inc....);        //2、查询当前页的数据列表, 查询第二页,每页查询2条        Query queryLimit = new Query(criteria)

    3.4K30

    【探花交友】day03—MongoDB基础

    具体特点总结如下: 面向集合存储,易于存储对象类型的数据 模式自由 支持动态查询 支持完全索引,包含内部对象 支持复制和故障恢复 使用高效的二进制数据存储,包括大型对象(...,语法与JavaScript的正则表达式相 同,{“x”:/[abc]/} 数组:数据列表或数据集可以表示为数组,{“x”: [“a“,“b”,”c”]} 内嵌文档:文档可以嵌套其他文档,被嵌套的文档作为值来处理...它不能直接在shell中使用。如果要 将非utf-字符保存到数据库中,二进制数据是唯一的方式。...update : update的对象和一些更新的操作符(如,inc....) * 3、注入MongoTemplate对象 * 4、调用对象方法,完成数据库操作 */ @Autowired private MongoTemplate

    3.2K20

    【探花交友】day05—圈子互动

    " 可以看到,在Redis中的数据是有多个发布id组成(pid)由逗号分隔。...所以实现中需要自己对这些数据做分页处理。...从redis获取当前用户的推荐PID列表 如果不存在,调用API随机获取10条动态数据 如果存在,调用API根据PID列表查询动态数据 构造VO对象 API层编写方法...数据库表:quanzi_comment 将数据记录到表中:保存到MongoDB中 互动表需要几张:需要一张表即可(quanzi_comment) 里面的数据需要分类:通过字段commentType 1-...comment 互动完成(点赞,喜欢):不仅要将数据保存到mongo中,需要记录到redis中 页面查询圈子列表时,可以从redis中判断是否有点赞,和喜欢历史 2.1、环境搭建 2.1.1

    1.1K30

    springboot整合MongoDB

    引言 springboot2.x已经集成了Mongodb了,我们可以很方便的使用mongoTemplate获取MongoDB中的数据,但有时候光是MongoTemplate还不够便捷,我们完全可以根据需要做一些简单的接口来简化日常开发操作...mongoTemplate; /** * 功能描述: 创建一个集合 * 同一个集合中可以存入多个不同类型的对象,我们为了方便维护和提升性能, * 后续将限制一个集合中存入的对象类型...(info, collectionName); } /** * 功能描述: 往对应的集合中批量插入数据,注意批量的数据中不要包含重复的id * * @param...(infos, collectionName); } /** * 功能描述: 使用索引信息精确更改某条数据 * * @param id...} /** * 功能描述: 查询列表信息 * 将集合中符合对象类型的数据全部查询出来 * * @param collectName 集合名称

    63330

    MongoDB

    ,则创建数据库,否则切换到指定数据库 3、 查询所有数据库 show dbs; 4、 删除当前使用数据库 db.dropDatabase(); 5、 查看当前使用的数据库 db.getName(); 6...你可以指定自己的日期时间:创建 Date 对象,传入年月日信息。 Object ID 对象 ID。用于创建文档的 ID。 Binary Data 二进制数据。用于存储二进制数据。 Code 代码类型。..., objNew, upsert, mult) criteria:需要更新的条件表达式 objNew:更新表达式 upsert:如 FI 标记录不存在,是否插入新文档。...(query, User.class): 删除 mongoTemplate.insert(User): 新增 Query 对象 1、创建一个 query 对象(用来封装所有条件对象),再创建一个 criteria...对象(用来构建条件) 2、精准条件:criteria.and(“key”).is(“条件”) 模糊条件:criteria.and(“key”).regex(“条件”) 3、封装条件:query.addCriteria

    4.7K20

    SpringBoot之MongoTemplate的查询可以怎么耍

    环境准备 在正式开始之前,先准备好环境,搭建好工程,对于这一步的详细信息,可以参考博文: 181213-SpringBoot高级篇MongoDB之基本环境搭建与使用 接下来,在一个集合中,准备一下数据如下...根据字段进行查询 最常见的查询场景,比如我们根据查询user=一灰灰blog的数据,这里主要会使用Query + Criteria 来完成 @Component public class MongoReadWrapper...(xxx).is(xxx)来指定具体的查询条件 封装Query对象 new Query(criteria) 借助mongoTemplate执行查询 mongoTemplate.findOne(query...,这个与and的使用有些区别, 借助org.springframework.data.mongodb.core.query.Criteria#orOperator来实现,传参为多个Criteria对象,...小结 上面给出的一些常见的查询姿势,当然并不全面,比如我们如果需要查询document中的部分字段怎么办?比如document内部结果比较复杂,有内嵌的对象或者数组时,嵌套查询可以怎么玩?

    3.2K10

    尚医通-MongoDB

    2、你可以在MongoDB记录中设置任何属性的索引 (如:FirstName="Sameer",Address="8 Gandhi Road")来实现更快的排序。...查询指令使用JSON形式的标记,可轻易查询文档中内嵌的对象及数组。 6、MongoDb 使用update()命令可以实现替换完成的文档(数据)或者一些指定的数据字段 。...你可以指定自己的日期时间:创建 Date 对象,传入年月日信息。 Object ID 对象 ID。用于创建文档的 ID。 Binary Data 二进制数据。用于存储二进制数据。...db.collection.update(criteria, objNew, upsert, mult) criteria:需要更新的条件表达式 objNew:更新表达式 upsert:如FI标记录不存在...(query, User.class): 删除 mongoTemplate.insert(User): 新增 Query对象 创建一个query对象(用来封装所有条件对象),再创建一个criteria对象

    4K30

    Spring认证中国教育管理中心-Spring Data MongoDB教程四

    11.6.1.查询集合中的文档 早些时候,我们看到了如何使用findOne和findById方法检索单个文档MongoTemplate。这些方法返回单个域对象。...我们还可以查询要作为域对象列表返回的文档集合。...使用properties架构的属性来匹配嵌套字段。 Criteria bits()是MongoDB 按位查询运算符(如$bitsAllClear....以下查询方法可让您查找一个或多个文档: findAll:T从集合中查询类型对象的列表。 findOne:将集合上的即席查询的结果映射到指定类型的对象的单个实例。...11.6.3.查询不同的值 MongoDB 提供了一种操作,通过使用来自结果文档的查询来获取单个字段的不同值。结果值不需要具有相同的数据类型,该功能也不限于简单类型。

    2.8K20

    Spring认证中国教育管理中心-Spring Data MongoDB教程七

    使用 group 操作确实有一些限制,例如它在共享环境中不受支持,它返回单个 BSON 对象中的完整结果集,因此结果应该很小,少于 10,000 个键。...下面显示了一个使用Criteria对象的示例,其中包含一些使用静态导入的语法糖,以及通过 Spring 资源字符串引用 key-function 和 reduce function javascript...可以通过类的project方法定义投影表达式Aggregation,通过传递String对象列表或聚合框架Fields对象。...聚合框架示例 1 在这个介绍性示例中,我们希望聚合一个标签列表,以从 MongoDB 集合(称为tags)中获取特定标签的出现次数,并按出现次数降序排序。...因为我们想City在我们的输出类中填充嵌套结构,我们必须使用嵌套方法发出适当的子文档。 StateStats在sort操作中按升序按状态名称对结果列表进行排序。

    8.1K30

    数据库MongoDB-Spring Data Mongod

    Spring Data Mongodb 使用Spring Data 框架都是按照面向对象思想操作用于的工具。...使用Spring Data Mongodb 也是使用面向对象的方式进行操作MongoDB,省略了使用Mongodb的Java客户端API把Document转换为实体类的过程 搭建项目环境 创建项目 创建项目...(people); } 修改文档 在Mongodb中无论是使用客户端API还是使用Spring Data,更新返回结果一定是受影响行数。...如果使用对象方式进行修改(save方法)必须要保证对象中所有属性都是有值得,否则只能使用update方法 使用save修改 使用save时,如果主键值已经存在,则表示修改操作。...(list); } 查询单个对象 如果查询结果是多个,返回其中第一个文档对象 @Test voidselectOne(){ // 获取到结果中第一条数据 // new Query() 表示没有条件 **

    1.6K20

    Spring认证中国教育管理中心-Spring Data MongoDB教程三

    您还可以使用特定的集合名称调用保存操作。您可以使用映射元数据来覆盖存储对象的集合。 插入或保存时,如果Id未设置该属性,则假设其值将由数据库自动生成。...使用 MongoTemplate 插入和检索文档 import static org.springframework.data.mongodb.core.query.Criteria.where; import...您还可以通过提供您自己的集合名称作为所选MongoTemplate方法调用的最后一个参数来覆盖集合名称。 插入或保存单个对象 MongoDB 驱动程序支持在单个操作中插入文档集合。...它们在单个批量写入数据库中插入对象列表。...使用 MongoTemplate import static org.springframework.data.mongodb.core.query.Criteria.where; import static

    2.2K10
    领券