问题描述
我不是专家,所以请原谅您在我的项目中可能看到的任何错误代码。
我构建了一个应用程序,使用户可以创建,阅读,更新和删除食材和食谱,然后将其用于购物清单。我使用Java,将Spring Boot作为后端,将MongoDB作为数据库,将AngularJS作为前端。创建,读取和删除可以很好地工作,但是更新不适用于数据库中的配方集合。
当我运行后端服务器并使用邮递员发出PUT请求以更新配方时,即使我指定了现有配方的ObjectID,该请求正文中的配方也会作为新文档插入。我的成分收集没有这个问题。我怀疑这与以下事实有关:配方文档是嵌套的JSON对象,而成分文档不是,但是我可能是错的。
我已将项目的Java后端上传到gitHub:https://github.com/firo8/grocerylists/tree/master/grocery-list/src/main/java/com/firo/grocerylist。
我到处搜索,找不到其他人,这个问题我可以理解。例如。以下问题似乎相似,但答案无济于事:PUT makes POST instead of updating value in Spring Boot
该如何解决?
预先感谢
解决方法
请参考spring mongo db支持页面上的以下文档。 https://docs.spring.io/spring-data/mongodb/docs/3.0.3.RELEASE/reference/html/#mongo.core
我看到您需要通过创建mongo客户端来连接数据库,并使用mongo模板从mongo db中插入/更新/获取/删除
。按照文档进行操作。