Spring Data - 如何为findAndModify操作编写MongoRepository方法?

时间:2016-11-09 07:04:33

标签: mongodb mongodb-query spring-data

我使用了MongoTemplate的findAndModify方法,如下所示,

@Document
public class Organization {
    private Integer id;
    private List<Employee> employees;
}

@Document
public class Employee {
    private Integer id;
    private String name;
}

//类结构

$(document).ready(function() {
  var image2 = new Image();
  $("#more").click(function() {
    var tableImage;
    html2canvas($("#dataTable"), {
      onrendered: function(canvas) {
        tableImage = canvas.toDataURL("image/png");
        image2.src = tableImage;
        $('.reportContents').append('<input id="title" style="border:none;"             name="title" type="hidden" value="null"/>');
        $('.reportContents').append('<input type="hidden" id="imageSrc"             name = "imageSrc" value="' + tableImage + '"/>');
        $('.reportContents').append('<img style="width: 90%;" id="image" src="' + image2.src + '">');
      },
      allowTaint: false
    });
  });
});

我想使用Spring Data MongoRepository方法实现上述功能。请告诉我如何使用MongoRepository方法更新员工的姓名。

1 个答案:

答案 0 :(得分:0)

如我所见,这不可能以优雅的方式实现。在支持不同数据库的背景下,存储库的概念似乎更为笼统。

如果您需要完全的灵活性,则可以不用spring生成并使用自己的实现的存储库功能。您还可以为存储库创建自己的基类,以帮助您重用经常需要的功能。在Spring-Data-MongoDB中,您可以找到可用作起点的类org.springframework.data.mongodb.repository.support.SimpleMongoRepository

也请参见以下主题的答案:What's the difference between Spring Data's MongoTemplate and MongoRepository?