gpt4 book ai didi

spring-data-mongodb - 如何使用 spring 和 Mongodb 在投影上执行 "findAll"?

转载 作者:行者123 更新时间:2023-12-05 07:46:21 24 4
gpt4 key购买 nike

我在 MongoDB 中有一个文档。我的文档如下:

[{
name: "toto",
age: "30",
address:{
city: "Paris",
street: "Rue de la paix"
}
}]

现在,我有一些模型 Java 类:

class Address{
public String city;
public String street;
}
class Person{
public String id;
public String name;
public int age;
public Address address;
}

我想执行一个投影来只检索我的“人”的名字和城市......所以我创建了一个这样的界面:

interface OnlyCity{
public String getCity();
}
interface NameAndCity{
public String getName();
public OnlyCity getAddress();
}

在我的存储库中,我想创建一个方法来检索所有“NameAndCity”...

现在,我想在此投影上执行“findAll”。换句话说,获取我数据库中所有人员的姓名和城市。

我发现唯一的方法如下:

public interface PersonsRepository extends MongoRepository<Person, String>{

List<NameAndCity> findNameAndCityByNameRegex(String regex);
}

并使用以下正则表达式调用此方法:“.*”...有效。

但是是否可以覆盖“findAll()”以返回投影值?

最佳答案

尝试使用

public interface PersonsRepository extends MongoRepository<Person, String>{

List<NameAndCity> findByIdIsNotNull();
}

关于spring-data-mongodb - 如何使用 spring 和 Mongodb 在投影上执行 "findAll"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40840416/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com