Я не совсем уверен в вашем вопросе, поэтому я рассмотрю 2 варианта. В обоих случаях я предполагаю, что вы делаете обновление для коллекции spa
.
1) Удаление поля images
из документа
Для полного удаления поля images
из требуемого документа вы можете использовать оператор MongoDB $ unset , например:
Оригинальный документ:
{
_id : ObjectId('some_id'),
name : 'abc.jpg',
contactNumbers: '...',
address: '...',
images: ['...']
}
Метод обновления:
Spa.update(
{ name : 'abc.jpg', _id : ObjectId('some_id') },
{ $unset : { images : null } }
);
Это приведет к:
{
_id : ObjectId('some_id'),
name : 'abc.jpg',
contactNumbers: '...',
address: '...'
}
2) Удаление одного элемента в поле images
Если вы пытаетесь удалить только один элемент с указанным значением c из В массиве images
можно использовать оператор MongoDB $ pull , например:
Оригинальный документ:
{
_id : ObjectId('some_id'),
name : '...',
contactNumbers: '...',
address: '...',
images: ['123.jpg','abc.jpg','def.jpg']
}
Метод обновления:
Spa.update(
{ _id : ObjectId('some_id') },
{ $pull : { images : 'abc.jpg' } }
);
Это приведет к:
{
_id : ObjectId('some_id'),
name : '...',
contactNumbers: '...',
address: '...',
images: ['123.jpg','def.jpg']
}
Я надеюсь, это то, что вы ищете. =]