如何将springboot连接到MongoDB?
我正在尝试使用springboot和MongoDB构建RESTAPI。我安装了一个本地MongoDB并正在运行,我尝试连接springboot来使用它。然而,RESTAPI保持返回空列表,即使我在Mongo中有大量数据。我还尝试使用RESTAPI添加一些测试数据,成功了,但在MongoDB中没有看到。只是想知道它使用哪种mongo?我的数据库是如何将springboot连接到MongoDB?,mongodb,spring-boot,Mongodb,Spring Boot,我正在尝试使用springboot和MongoDB构建RESTAPI。我安装了一个本地MongoDB并正在运行,我尝试连接springboot来使用它。然而,RESTAPI保持返回空列表,即使我在Mongo中有大量数据。我还尝试使用RESTAPI添加一些测试数据,成功了,但在MongoDB中没有看到。只是想知道它使用哪种mongo?我的数据库是my store,集合名称是processs 在我的application.properties文件中,我将MongoDB数据库指定为我正在使用的数据库:
my store
,集合名称是processs
在我的application.properties
文件中,我将MongoDB数据库指定为我正在使用的数据库:
spring.data.mongodb.database=my-store
下面是我的java代码:
回购:
@RepositoryRestResource(collectionResourceRel=“processs”,path=“processs”)
公共接口ProcessRepository扩展了MongoRepository{
公共列表findAll();
}
控制器:
@RestController
@RequestMapping("/processes")
public class ProcessRestController {
@Autowired
private ProcessRepository repo;
@RequestMapping(method=RequestMethod.GET)
public List<Process> getAll() {
return repo.findAll();
}
...
}
@RestController
@请求映射(“/processs”)
公共类ProcessRestController{
@自动连线
私人回购;
@RequestMapping(method=RequestMethod.GET)
公共列表getAll(){
返回回购findAll();
}
...
}
最后找出了问题所在,集合名称是“processs”,但java模型是“Process”,有两种方法可以修复它:
1.将java模型对象重命名为“proecesss”
2.保留java模型对象“Process”,但添加注释如下:
@Document(collection="processes") <=== annotation here
public class Process {
@Id
private String id;
private String message;
private Long highWatermark;
@Document(collection=“processs”)我最近遇到了类似的情况。这些集合被命名为“Person”,类也被命名为“Person”。java程序总是返回一个空列表。需要注意的是,由java程序中的代码创建的集合的名称以小写字母开头。考虑到这一点,我创建了一个名为“person”(小写)的集合,程序返回了完整的列表。希望这对mongoDB的初学者有所帮助
@Document(collection="processes") <=== annotation here
public class Process {
@Id
private String id;
private String message;
private Long highWatermark;