如何使用 spring 数据从 MongoDB 列表中 add/remove 元素?
How to add/remove elements from a MongoDB list using spring data?
我正在使用 spring 数据与 mongo 通信(尽管我知道在高级用例中 mongo 驱动程序有一些缺点)。我的应用程序有一个 mongodb 文档,其中一个元素是一个列表。现在我想从文件列表中 add/delete 特定元素。
有人可以告诉我 spring 数据是否以及如何支持它(考虑到它的基本操作)吗?
我做了很多网络搜索,但似乎没有找到任何具体的东西。
任何帮助将不胜感激。
更新 1:
示例文档:
{ id: 123, arr: [ 1,2,3,4]}
更新后
{ id: 123, arr: [ 1,2,3]}
或 { id: 123, arr: [ 1,2,3,4,5]}
您必须创建一个服务来处理此操作。
假设您正在使用 Springs Repository 接口之一,您的服务可以从数据库中提取您需要更新的对象,然后您只需在每个对象上调用 .save()。
Object o = repository.findById(someId);
o.setList(new ArrayList());
repository.save(o);
另一种选择是使用 Spring 数据公开的 mongoOperation:
http://www.mkyong.com/mongodb/spring-data-mongodb-update-document/
如果您尝试更新多个文档,这可能会有所帮助。
我正在查看单元测试,看起来您可以使用 mongo $pull 和 $push 方法使用 Update class .
您可以在此处查看教程:
http://www.dineshonjava.com/2013/01/spring-data-mongodb-update-document.html#.VVexP3UVhBc
所以你会做类似的事情:
Update().pull("arr", 4);
Update().push("arr", 5);
我正在使用 spring 数据与 mongo 通信(尽管我知道在高级用例中 mongo 驱动程序有一些缺点)。我的应用程序有一个 mongodb 文档,其中一个元素是一个列表。现在我想从文件列表中 add/delete 特定元素。 有人可以告诉我 spring 数据是否以及如何支持它(考虑到它的基本操作)吗?
我做了很多网络搜索,但似乎没有找到任何具体的东西。
任何帮助将不胜感激。
更新 1: 示例文档:
{ id: 123, arr: [ 1,2,3,4]}
更新后
{ id: 123, arr: [ 1,2,3]}
或 { id: 123, arr: [ 1,2,3,4,5]}
您必须创建一个服务来处理此操作。
假设您正在使用 Springs Repository 接口之一,您的服务可以从数据库中提取您需要更新的对象,然后您只需在每个对象上调用 .save()。
Object o = repository.findById(someId);
o.setList(new ArrayList());
repository.save(o);
另一种选择是使用 Spring 数据公开的 mongoOperation:
http://www.mkyong.com/mongodb/spring-data-mongodb-update-document/
如果您尝试更新多个文档,这可能会有所帮助。
我正在查看单元测试,看起来您可以使用 mongo $pull 和 $push 方法使用 Update class .
您可以在此处查看教程:
http://www.dineshonjava.com/2013/01/spring-data-mongodb-update-document.html#.VVexP3UVhBc
所以你会做类似的事情:
Update().pull("arr", 4);
Update().push("arr", 5);