问题标签 [mongorepository]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
317 浏览

spring - MongoRepository 比较了两列 + Spring Data

我想使用 mongorepository + spring 数据(HQL 或条件查询)比较两列值来执行查询。我正在向您展示关系查询,我想转换为 mongo。

Select * from Employee em where em.limit < em.age

我想使用 Spring 数据将上述查询转换为 HQL 查询。

0 投票
4 回答
7415 浏览

mongodb - MongoRepository 动态查询

我有以下问题。假设我有以下模型对象:

在属性映射中,您可以插入任何类型的属性,没有约束。

上面的对象保存在一个 MongoDB 中,如下所示:

当一个人被保存到存储库中时,Map<String, String> properties它会变平。例如,如果我们有以下对象:

保存在 MongoRepository 中的文档如下:

现在我的问题是我必须根据(例如)寻找对象,如果它们具有特定的属性。假设我想要所有已定义年龄属性的人。一个重要的附加要求是我应该返回一个分页结果

我试过使用

但这由于某种原因不起作用。我怀疑这是我的模型对象和 MongoDB 文档具有不同结构的事实。

我也尝试过 QueryDsl (这里有一个例子:http ://www.baeldung.com/queries-in-spring-data-mongodb )但也没有成功,对我来说这个解决方案也不是优雅(必须维护生成的类等。我也有一种感觉,因为我的Map<String, String> properties对象成员,它不会工作)。

我想到的另一个足够优雅的解决方案是具有以下功能:

在这种情况下,我将能够手动构建查询,而不必对运行搜索所用的键进行硬编码。我现在的问题是,如何将查询值设置为我的第一个参数?使用上面显示的示例,我收到以下错误

另一种解决方案是使用mongoTemplate和查询给定Criteria的一些内容,如下例所示:

此解决方案的问题在于它返回对象列表而不是分页结果。如果我添加它,它还会返回一个特定的页面,query.with(new PageRequest(3, 2));但在这种情况下,我无法手动构造“分页”结果,因为我不知道元素的总数。

您还有其他可以帮助我的想法吗?

提前致谢!

0 投票
1 回答
821 浏览

mongodb - 查找第一个结果(QueryDsl,Mongodb)

使用 MongoDB,我们有两种方法可以对我们的存储库进行请求:

  1. 查询方法:findOneByUsernameAndType...
  2. Querydsl 方法允许我们传递条件并检索结果列表。

当我做 afindOneBy时,我检索与请求对应的第一个文档,即使有很多结果。

但是我有一个复杂的查询,所以我不能使用这个方法,因为它的名字太长了,我不能做我想做的事。

所以我想对查询 dsl 做同样的事情:

使用标准具有 3 个属性的 DTO。

问题是如果有超过 1 个结果,这会findOne抛出异常而不是返回第一个结果。

如何使用 Querydsl 做到这一点?

0 投票
0 回答
532 浏览

spring - MongoDB和Spring Boot中的DBRef匹配标准

类车{

在上面的示例中,我想在一个查询中根据用户名和汽车型号搜索用户。

例如,搜索所有拥有汽车型号 ABC 且用户名为 Sachin 的用户。

尝试了上述查询,但崩溃了。

0 投票
0 回答
961 浏览

spring - 如果属性为空,则使用正则表达式进行 MongoDB 查询

我有一个查询要按客户名称、电子邮件和电话过滤订单

它有效,但只选择所有搜索字段都不为空的订单。如何更改查询以获得更多订单?

在 SQL 中,它类似于:

0 投票
2 回答
1171 浏览

mongodb - 使用 Spring Data MongoDB 的 Rest API - 存储库方法不起作用

我正在使用 MongoDB 阅读和学习 Spring Boot 数据。我的数据库中有大约 10 条记录,格式如下:

当我打开网址时:

我得到了所有项目的详尽清单。但是,我想使用MongoRepository诸如findById等的方法count。当我这样使用它们时:

我得到一个404。

我的设置是这样的:

我究竟做错了什么?我需要实现由定义的方法MongoRepository还是会自动实现?我迷路了,长期以来一直试图弄清楚这一点。我的控制器中没有任何方法,它是空的。

0 投票
2 回答
621 浏览

spring - 我应该如何使用 spring mongo 存储库从 mongo db 获取数据?

我在我的 Spring Boot 应用程序中使用 mongodb,我正在使用 mongo 存储库接口从数据库中获取数据,这就是我获取数据的方式。

这将给我学校对象,然后我可以从那里获取所有数据,但我的问题是,如果我每次需要来自该对象的一些数据时都获取整个对象,即使我需要一些字段,它是否会影响我的应用程序的性能。如果是这样,我搜索的方法是什么,我看到使用查询注释我可以限制字段,但即使这样它也会给整个对象它把所有其他字段都设置为空,并且数据只在我指定的字段中。任何指导都会有所帮助。

0 投票
1 回答
1514 浏览

java - 自定义 MongoDB Spring 数据存储库

我想用 Spring 数据 mongodb 实现自定义 repo。应用程序.java:

我的自定义存储库 CustomerRepositoryCustom.java

自定义实现CustomCustomerRepositoryImpl.java

代码结构

当我尝试构建它时,我收到一个错误:

0 投票
3 回答
1670 浏览

java - 在 Spring 中解析 MongoRepository 的变量名

_MongoRepository中变量的正确方法名称是什么。

历史.java

HistoryRepository.java

我得到了以下异常

我尝试了以下变量选项,但这些都不起作用。

0 投票
1 回答
1172 浏览

spring-data - SpringData MongoRepository Count 和 Where 子句组合

我正在使用 MongoDb 和 SpringData MongoRepository .. 我想获取接收者用户 = 的计数消息?和消息阅读=?...简而言之,我想获取用户未读的消息。我的方法是这样的..但我不知道如何做到这一点..消息是我的 mongo 文档..谢谢。