【Spring Boot:整合MongoDB】教程文章相关的互联网学习教程文章

java – Spring MongoDB按字符串搜索id【代码】

我有一个使用mongodb的简单弹簧网页应用程序.我需要按字符串搜索集合id,其中字符串应该使用正则表达式语句.我的标准创建方法如下所示.public Criteria getSearchCriteriaQuery(String keyword, String colomnArray[]){Criteria[] criteriaList = new Criteria[colomnArray.length];for (int i=0; i<colomnArray.length; i++) {criteriaList[i] = Criteria.where(colomnArray[i]).regex(keyword, "i");}return this.criteria.orOper...

java – Spring Data MongoDB审计不适用于嵌入式文档【代码】

我正在尝试使用Spring Data MongoDB @LastModifiedDate注释来引入审计.它适用于顶级文档,但我遇到了嵌入对象的问题. 例如:@Document(collection = "parent") class ParentDocument {@IdString id; @LastModifiedDateDateTime updated;List<ChildDocument> children; }@Document class ChildDocument {@IdString id; @LastModifiedDateDateTime updated;}默认情况下,当我使用内部子项列表保存parentDocument实例时,...

Spring Boot MongoDB 可复制集的读写分离

最近项目的一个版本刚迭代上去,然后设备也陆续地接入到了系统中。 设备产生的数据经过解析、处理之后落到了 MongoDB 中,但是才 10w 的数据就导致分页查询非常慢,count 操作也是慢的感人。 上午加了索引之后,从 10 多秒降到了 5 秒左右,但是这个速度还是很慢啊,这 TM 的等到设备都接入进来不就炸了。 然后下午就开始排错,查看代码中的慢查询。 最后发现一个现象就是:通过 Navicat 去查询相同的 find 和 count 语句要比在代码...

多个聚合和展开 – Spring数据Mongodb【代码】

我有一个mongo查询,用于展开四个对象数组并根据匹配条件过滤数据.我如何在Spring数据mongodb中执行相同的操作 我曾经使用单一展开,但找不到任何多次展开和匹配操作.db.generator.aggregate([ { $unwind :'$eCList'}, { $unwind :'$pcList'}, { $unwind :'$cityList'}, { $unwind :'$eATypeList'}, { $match : {'eCList.eCCode': { $eq : 'enccode1'} }}, { $match : {'pcList.pcCode': { $eq : 'pccode1'} }}, { $match : {'cityLi...

如何在Spring Boot中使用MongoDB查询DSL【代码】

我尝试在Spring Boot中使用带有MongoDB的Query DSL,我收到错误.该应用程序正在成功运行,而不使用用于MongoDB的Query DSL库.我想使用这个库,因为我想使用更复杂的查询.代码应该工作,我认为某处有一点错误. 问题是当我点击Maven包时出现这些错误,不幸的是我不能在这里发布所有输出:org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'hotelController' defined in file [C:\Users\...

spring – 使用Reactive MongoDB和取消操作的流程正在取消【代码】

问题出在Project Reactor和Reactive MongoDB(Spring Data)之间. 执行包含(按以下顺序)的流时: >对Reactive MongoDB进行操作的方法非常快>超过30秒的方法 流被取消(查看下面的代码和日志)@GetMapping("/test/{msg}") public Mono<SomeObject> test(@PathVariable String msg) {return repository.findByMessage(msg).log("1").map(someObj -> delaySeconds(someObj, 35)).log("2"); }正如您所看到的,30秒后流被取消,但是在另外5秒(...

java spring MappingJacksonJsonView在mongodb ObjectId上没有做toString【代码】

我在SpringMVC应用程序中使用MappingJacksonJsonView来从我的控制器渲染JSON.我希望我的对象中的ObjectId呈现为.toString,而是将ObjectId序列化为其部分.它在我的Velocity / JSP页面中运行得很好:Velocity:$thing.id Produces:4f1d77bb3a13870ff0783c25Json:<script type="text/javascript">$.ajax({type: 'GET',url: '/things/show/4f1d77bb3a13870ff0783c25',dataType: 'json',success : function(data) {alert(data);}});</scr...

如何将带有动态密钥的文档映射到Spring MongoDb实体类【代码】

我有一个可以有动态密钥名称的文档:{ "_id" : ObjectId("51a29f6413dc992c24e0283e"), "envinfo" : {"appName" : "MyJavaApp","environment" : {"cpuCount" : 12,"heapMaxBytes" : 5724766208,"osVersion" : "6.2","arch" : "amd64","javaVendor" : "Sun Microsystems Inc.","pid" : 44996,"javaVersion" : "1.6.0_38","heapInitialBytes" : 402507520, }这里envinfo的钥匙事先不知道.在Spring Data Mongodb中创建实体类的最佳方法...

java – 使用mongodb登录Spring【代码】

我使用带有mongodb和thymeleaf的春天.我的问题是我不知道如何将登录查询与我的用户数据库连接.我已经检查了密码(使用散列)但我只能查询在初始化的用户@Override public void init (AuthenticationManagerBuilder auth) throws Exception {auth.inMemoryAuthentication().withUser("user").password("password").roles("USER"); }方法.有人能帮我吗?解决方法:最简单和最常见的方法可能是实现您自己的UserDetailsS??ervice,它将具有...

在Spring MVC中,如何在同一个项目中连接两个数据库(Mysql数据库和MongoDB)?如果可能的话【代码】

在Spring MVC中,如何连接到两个数据库(Mysql数据库和MongoDB)中解决方法:您的问题与mvc模块无关,但与数据访问层更相关. 简单来说,您需要配置2个不同的数据源,以及相应的实体管理器和事务管理器. 然后在你的dao类中,你可以注入所需的实体管理器.@PersistenceContext(unitName="entityManager1") private EntityManager entityManager1;@PersistenceContext(unitName="entityManager2") private EntityManager entityManager2;在Goog...

启用CORS On Spring访问MongoDB数据【代码】

我正在尝试使用Spring开发RestFul Web服务,该服务从mongoDB集合中获取数据并将其提供给客户端.为了构建我遵循this guide on spring.io的服务.一切顺利,我可以从mongoDB访问数据并搜索它的数据结构名称.当我试图管理来自我的客户端的请求时,麻烦就开始了,我收到了相同域策略违规的经典错误.No ‘Access-Control-Allow-Origin’ header is present on the requestedresource.该项目非常简单,由以下3个类组成: Frames.java@Id privat...

SpringBoot2.0 基础案例(15):配置MongoDB数据库,实现增删改查逻辑【代码】【图】

本文源码 GitHub地址:知了一笑 https://github.com/cicadasmile/spring-boot-base 一、NoSQL简介 1、NoSQL 概念 NoSQL( Not Only SQL ),意即"不仅仅是SQL"。对不同于传统的关系型数据库的数据库管理系统的统称。NoSQL用于超大规模数据的存储。这些类型的数据存储不需要固定的模式,无需多余操作就可以横向扩展。 2、NoSQL的优点/缺点 --优点: 高可扩展性 分布式计算 低成本 架构的灵活性,半结构化数据 没有复杂的关系 --缺点: 没...

Spring mongodb添加或更新文档列表【代码】

我有一个像这样的记录列表[{"id":"1", "name":"a", "user":"u1"},{"id":"2", "name":"b", "user":"u1"},{"id":"3", "name":"c", "user":"u1"} ]现在,根据数据库中是否已存在条目,它应该更新或插入文档.此外,对于更新,存在一个条件,即现有用户字段的值应与文档中用户提供的值相匹配. 当然,我可以在循环中运行列表并使用mongoOperations.save(...);但是,如果我有一个巨大的列表,那么我将不得不为每个条目执行一个db操作,我认为这不是...

如何使用Spring MongoTemplate将Java 8 Instant作为日期类型保存到MongoDB?【代码】

我有一个具有Instant类型成员变量的Java类:public class SomeRecord {private String someId;private Instant someInstant;// getters and setters }我使用MongoTemplate更新数据库中的someInstant字段:public SomeRecord updateSomeRecordBySomeId(final String someId, Object someInstant) {Query query = new Query();query.addCriteria(Criteria.where("someId").is(someId));Update update = new Update();update.set("som...

java – 在Spring Boot中从MongoDB存储库中查找Max和Min值【代码】

是否可以在Spring Boot中获取存储库中特定字段的最大值和最小值?如果是这样,你怎么做? 我知道使用Mongo Shell非常容易. https://docs.mongodb.com/manual/reference/operator/meta/max/ 我一直在调查一段时间,仍然没有找到解决方案. 提前致谢.解决方法:找到了.public interface OrderRepository extends MongoRepository<Order,String> {// Find MAX ValueOrder findTopByOrderByOrderDateDesc();// Find MIN ValueOrder findTop...