Spring 数据 Mongodb: 从数组中删除字符串
Spring Data Mongodb: remove String from Array
我有一个名为 pub 的集合。每个文档包含一个名为 cocktails 的字符串数组,因此:
{"id" : "0", "name" : "My Beautiful Pub", "cocktails" : ["B52", "SexOnTheBeach", "Negroni"]}
使用 Spring mongodb,我会删除每个 "SexOnTheBeach",这样 :
{"id" : "0", "name" : "My Beautiful Pub", "cocktails" : ["B52", "Negroni"]}
...我的 "pub" 集合中的每个 pub 文档都不能包含 "SexOnTheBeach".
我想我应该使用 new Update().pull()
方法,但每次更新都不会修改我的数据库。
这个 mongodb 查询非常完美,但我不知道如何翻译它!
db.pub.update(
{ },
{ $pull: { cocktails: "SexOnTheBeach" } },
{ multi: true })
提前联系。
在您的 @Service
class 中,添加:
import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.data.mongodb.core.query.Update;
import org.springframework.data.mongodb.core.query.Query;
@Autowired
private MongoTemplate mongoTemplate;
...
mongoTemplate.updateMulti(new Query(), new Update().pull("cocktails", "SexOnTheBeach"), "pub");
我有一个名为 pub 的集合。每个文档包含一个名为 cocktails 的字符串数组,因此:
{"id" : "0", "name" : "My Beautiful Pub", "cocktails" : ["B52", "SexOnTheBeach", "Negroni"]}
使用 Spring mongodb,我会删除每个 "SexOnTheBeach",这样 :
{"id" : "0", "name" : "My Beautiful Pub", "cocktails" : ["B52", "Negroni"]}
...我的 "pub" 集合中的每个 pub 文档都不能包含 "SexOnTheBeach".
我想我应该使用 new Update().pull()
方法,但每次更新都不会修改我的数据库。
这个 mongodb 查询非常完美,但我不知道如何翻译它!
db.pub.update(
{ },
{ $pull: { cocktails: "SexOnTheBeach" } },
{ multi: true })
提前联系。
在您的 @Service
class 中,添加:
import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.data.mongodb.core.query.Update;
import org.springframework.data.mongodb.core.query.Query;
@Autowired
private MongoTemplate mongoTemplate;
...
mongoTemplate.updateMulti(new Query(), new Update().pull("cocktails", "SexOnTheBeach"), "pub");