Я удаляю элемент из массива с mongoose
. Какой-то код:
const { find, remove } = require('lodash');
....
UserSchema.methods.deleteItem = async function (id) {
const user = this;
const item = find(user.items, i => i.id === id);
const idx = user.items.indexOf(item);
user.items.splice(idx, 1);
// remove(user.items, i => i.id === id);
try {
await user.save();
return item;
} catch (err) {
throw new Error(err);
}
};
В приведенном выше коде я использую splice()
, который работает правильно. Тем не менее, lodash remove
не работает. Документация для .remove()
говорит о том, что он мутирует массив напрямую, так почему он здесь не работает?