У меня есть коллекция Mongo, состоящая из документа и вложенного объекта, описывающего, какие коллекции находится в документе и когда он был добавлен. Я хотел бы удалить пары ключ-значение из вложенного объекта на основе условия, например. это значение (дата) до 1-1-2016.Mongo удалить из вложенного объекта по значению
Пример:
{
"_id" : ObjectId("581214940911ad3de98002db"),
"collections" : {
"c01" : ISODate("2016-10-27T15:52:04.512Z"),
"c02" : ISODate("2015-11-21T16:06:06.546Z")
}
}
потребности стать
{
"_id" : ObjectId("581214940911ad3de98002db"),
"collections" : {
"c01" : ISODate("2016-10-27T15:52:04.512Z"),
}
}
Одним из вариантов было бы изменить схему, чтобы что-то вроде этого:
{
"_id" : ObjectId("581214940911ad3de98002db"),
"collections" : [
{
"id": "c01",
"date": ISODate("2016-10-27T15:52:04.512Z")
},
{
"id": "c02",
"date" : ISODate("2015-11-21T16:06:06.546Z")
}
]
}
в этом случае удаление документа из a будет легко. Я немного неохотно это делаю, потому что это усложнит некоторые другие запросы, которые я хотел бы поддержать. Благодаря!
вы будете делать себе большую пользу, если изменить схему. – styvane