удалить определенный элемент массива из mongodb при щелчке по элементу - PullRequest
0 голосов
/ 18 июня 2020

Я использую этот код для удаления определенного элемента массива, хранящегося в MongoDB, при нажатии на него из приложения. Но этот код не работает.

структура схемы выглядит так -

const tagsSchema = new Schema ({category: {type: String, required: true}, tname: { type: Array}}, {_id: true});

Ниже приведен код, который я использую для удаления элемента массива из базы данных -

Tags.updateOne ( {tname: req.params.name}, {$ pull: {_id: [req.params.id]}})

Например - «tname»: «технический», "нетехнический"

Теперь в приложении щелкают по техническому, чтобы удалить его, но с кодом, который я использую, он не удаляется.

Ответы [ 2 ]

0 голосов
/ 18 июня 2020

Вы должны найти указанный тег c по его « _id », а затем удалить конкретное имя из массива « tname ».

Tags.updateOne({ _id: req.params.id }, { $pull: { tname: req.params.name } })
0 голосов
/ 18 июня 2020

вы можете использовать напрямую свой element_value без [] после поля массива, как показано ниже ..

Tags.updateOne({tname: req.params.name}, { $pull: { your_array_field: req.params.id } } )
...