【发布时间】:2015-07-14 07:58:12
【问题描述】:
我正在尝试使用 springboot 和 mongo db 构建一个 rest api。我安装并运行了一个本地 MongoDB,我尝试连接 springboot 以使用它。然而,即使我在 Mongo 中有大量数据,rest api 仍然返回空列表。我还尝试使用 rest api 添加一些测试数据,它成功但我在 MongoDB 中看不到它。只是想知道它使用的是哪个 mongo?我的数据库是my-store,集合名称是processes。
在我的application.properties 文件中,我将 MongoDB 数据库指定为我正在使用的数据库:
spring.data.mongodb.database=my-store
这是我的java代码:
回购:
@RepositoryRestResource(collectionResourceRel = "processes", path="processes")
public interface ProcessRepository extends MongoRepository<Process, String> {
public List<Process> findAll();
}
控制器:
@RestController
@RequestMapping("/processes")
public class ProcessRestController {
@Autowired
private ProcessRepository repo;
@RequestMapping(method=RequestMethod.GET)
public List<Process> getAll() {
return repo.findAll();
}
...
}
终于搞清楚是什么问题了,集合名称是'processes'但是java模型是'Process',有两种方法可以修复它: 1.将java模型对象重命名为'Proecesses' 2.保留java模型对象'Process',但添加注释如下:
@Document(collection="processes") <=== annotation here
public class Process {
@Id
private String id;
private String message;
private Long highWatermark;
【问题讨论】:
标签: mongodb spring-boot