Как отключить суб-документ от MongoDB, если вы не знаете конкретного имени поддоку?Удалить суб-документ из MongoDB, если вы не знаете имя суб-документа
В других словах я хотел бы идентифицировать суб-документ на основе того или иного значения для его полей ... однако фактическое имя суб-документа неизвестно. Поэтому я хотел бы как-то идентифицировать этот под-документ, а затем удалить его.
Например, когда я соответствовать полю по высоте до 160, я хотел бы, чтобы удалить «бабуин» поддокумент ...
{ Document: {
monkey: {
height: 100,
weight: 40
},
baboon: {
height: 160,
weight: 70
}
}
Я понимаю, что массивы являются еще одним вариантом ($ заполнители и $ pull операторов), но я стараюсь избегать, так как это приводит к другим осложнениям в другом месте.
Думаю, вы можете сделать это в двух операциях. Сначала найдитеOne и проверьте имя aninaml в своем приложении. Затем выполните операцию анотера, которая отключит выбранного животного. –
Я считаю, что вам нужно изменить свою структуру данных – Disposer
, у вас может быть ** коллекция животных ** с атрибутами * тип *, * высота * и * вес * –