#node.js #mongodb #mongoose #sails.js #sails-mongo
#node.js #mongodb #mongoose #sails.js #sails-mongo
Вопрос:
У меня есть такой массив в разделе «Коллекция пользователей»
Как я могу удалить одно значение из этого массива с помощью sails.js код
также мне нужно удалить все идентификаторы записей из каждого пользовательского документа, если запись удалена, есть ли какой-либо самый простой и быстрый способ удаления из всех документов??
Комментарии:
1. Не могли бы вы вставить код ur models? Сообщение , пользователь… все, что вы используете в этой операции?
Ответ №1:
Есть несколько простых способов сделать это, если вы используете встроенный ORM «Waterline», и они в основном эквивалентны.
Первый — запустить Model.update()
и перезаписать массив новым значением.
Model.update(id, { likes : [/* new array value */] }).then(...)
Другой способ заключается в том, чтобы 1) найти объект 2) извлечь значение из массива 3) сохранить:
Model.findOne(id, function(err, document){
if(err) // handle err case
else {
document.likes = document.likes.filter(value => value !== 'stringToRemove')
document.save(function(err, saved){
... // do more stuff
})
}
})
Наконец, если вы не используете его для очень простого приложения, я не могу рекомендовать использовать Waterline ORM с MongoDB. Избавьте себя от кучи головной боли и используйте Mongoose.