У меня есть коллекция сессии, которая содержит элементыудалить dbref элемент из другой коллекции
{
"_id" : NumberLong(1),
"_class" : "cws.CWSession",
"title" : "java ",
"description" : "apprendre à programmer en java"
}
{
"_id" : NumberLong(2),
"_class" : "cws.CWSession",
"title" : "Git",
"description" : "Formation Git"
}
И у меня есть еще один сборник которые содержат dbRed из CWSession:
{
"_id" : NumberLong(2),
"_class" : "cws.CollaborativeWs",
"title" : "AngularJS",
"description" : "AngularJS",
"cws" : [
{
"$ref" : "cwsession",
"$id" : NumberLong(1)
},
{
"$ref" : "cwsession",
"$id" : NumberLong(2)
}
]
}
{
"_id" : NumberLong(3),
"_class" : "cws.CollaborativeWs",
"title" : "Java",
"description" : "principes java ",
"cws" : [
{
"$ref" : "cwsession",
"$id" : NumberLong(3)
}
]
}
Я использую шаблон Монго служит для удаления сессия
mongoTemplate.remove(new Query(Criteria.where("_id").is(id)), CWSession.class);
Это прекрасно работает, и сеанс удаляется в первом сборе но все же во втором, можете ли вы рассказать мне, что я могу использовать для удаления ссылки во второй коллекции? И спасибо вам заранее.
public void deleteSessionfromCW(String idCW, String idS){
Query query = new Query(where("_id").is(idCW).and("cws.id").is(id));
Update update = new Update().pull("cws", new BasicDBObject("id", "1"));
mongoTemplate.updateFirst(query, update, Item.class);
}