Я пытаюсь удалить документ из массива, используя реактивный DSL Query mongo. Моя структура документа выглядит следующим образом:
{
"_id" : ObjectId("55950666c3ad8c860b5141cc"),
"name" : "Texla",
-------------------------
"location" : {
"_id" : ObjectId("5595074bc3ad8c19105141d0"),
"companyFieldId" : ObjectId("559140f1ea16e552ac90e058"),
"name" : "Location",
"alias" : "Site",
"locations" : [
{
"_id" : ObjectId("5595074bc3ad8c19105141d1"),
"country" : "India",
"state" : "Punjab",
"city" : "Moga",
"zip" : "142001",
"custom" : false
},
{
"_id" : ObjectId("5595074bc3ad8c19105141d2"),
"country" : "India da address",
"custom" : true
}
]
},
------------------------
}
Мой запрос с использованием «Реактивных расширений Mongo»:
genericCompanyRepository.update($doc("_id" $eq BsonObjectId.apply("55950666c3ad8c860b5141cc")), $pull("location.locations" $elemMatch("_id" $eq BsonObjectId.apply("5595074bc3ad8c19105141d1"))), GetLastError(), false, false);
С приведенным выше заявлением об обновлении. нет документа, который вытягивается из массива. В чем проблема с запросом?
Когда я запускаю функцию ниже, это будет работать.
genericCompanyRepository.findOne($doc("location.locations" $elemMatch("_id" $eq BsonObjectId.apply("5595074bc3ad8c19105141d1")))) function, the element is return.