如何删除 Spring data Mongo DB Mongo 存储库中的列表
How to delete a list in Spring data Mongo DB Mongo repository
我有一个产品,这个产品有多个 countries.So 我想删除 mongo 中的相应国家 repository.so 我如何从 spring 数据中删除 mongo数据库存储库。
请在下面找到我的 JSON。
{ "_id" : ObjectId("565e0e1758da2b685eef727f"),
"offeringId" : "PMRS674913",
"offeringType" : "FEATURE",
"service" : "HBOGO",
"countries" : [
{
"country" : "OTT",
"isoCode" : "124",
"startDate" : "2015-01-01T00:00:00.000-05:00",
"endDate" : "2015-01-31T00:00:00.000-05:00"
},
{
"country" : "United States",
"isoCode" : " 456",
"startDate" : "2015-01-01T00:00:00.000-05:00",
"endDate" : "2015-01-31T0000:00.000-05:00"
}
]
}
您可以使用以下查询来执行此操作:
db.collection.update(
{ "countries" : { $elemMatch : { "country" : "OTT" } } } ,
{ $pull : { "countries" : { "country" : "OTT" } } },
{ multi : true }
)
在 Spring
中,您必须使用以下语法:
Query query = new Query();
query.addCriteria(Criteria.where("countries")
.elemMatch(Criteria.where("country").is("United States")));
Update update = new Update();
update.pull("countries", new BasicDBObject("country", "United States"));
mongoTemplate.updateMulti(query, update, collection);
我有一个产品,这个产品有多个 countries.So 我想删除 mongo 中的相应国家 repository.so 我如何从 spring 数据中删除 mongo数据库存储库。 请在下面找到我的 JSON。
{ "_id" : ObjectId("565e0e1758da2b685eef727f"),
"offeringId" : "PMRS674913",
"offeringType" : "FEATURE",
"service" : "HBOGO",
"countries" : [
{
"country" : "OTT",
"isoCode" : "124",
"startDate" : "2015-01-01T00:00:00.000-05:00",
"endDate" : "2015-01-31T00:00:00.000-05:00"
},
{
"country" : "United States",
"isoCode" : " 456",
"startDate" : "2015-01-01T00:00:00.000-05:00",
"endDate" : "2015-01-31T0000:00.000-05:00"
}
]
}
您可以使用以下查询来执行此操作:
db.collection.update(
{ "countries" : { $elemMatch : { "country" : "OTT" } } } ,
{ $pull : { "countries" : { "country" : "OTT" } } },
{ multi : true }
)
在 Spring
中,您必须使用以下语法:
Query query = new Query();
query.addCriteria(Criteria.where("countries")
.elemMatch(Criteria.where("country").is("United States")));
Update update = new Update();
update.pull("countries", new BasicDBObject("country", "United States"));
mongoTemplate.updateMulti(query, update, collection);