text: [Blog: JS and Mongo DB] Как поле от базата може да се ъпдейтне с функция? - Софтуерен университет
  [Blog: JS and Mongo DB] Как поле от базата може да се ъпдейтне с функция?
  Подобно на PHP блога съм добавил 'summary' property към articles, което се генерира така:
  article.summary = article.content.length > 500 ?
  article.content.substr(0, 450) + "..." : article.content;
  Идеята е в хоум пейджа да се визуализира 'summary' вместо 'content', за да изглежда по-читаво.
  Въпросът ми е как може да се генерира такова summary върху вече създадените articles в базата данни?
  06/08/2017 10:42:20 Софтуерни технологии
  Когато достъпваш данните от базата от някой контролер (homeController) и преди да ги подадеш на view-то (homeView) може да си направиш това summary по един от следните начини - когато получиш всички articles, като закачиш на всеки article обект и summary пропърти, примерно:
  Article.find().then((articles) => {
  articles = articles.map(a => {
  a.summary = a.content.length > 500 ? a.content.substr(0, 450) + "..." : article.content
  res.render('home/index', articles)
  или без тернарен оператор ще е този начин
  if (a.content.length > 500} {
  a.summary = a.content.substr(0, 450) + "..."
  a.summary = article.content
  и накрая го подаваш на някое view, както е показано с res.render()
  06/08/2017 15:08:41
  Тоест когато се изрендва веднъж това view и мине през всички articles с тази функция, всяко article вече ще има генерирано summary в базата? Тогава вече функцията за генериране на summary може да се измести в createPost в Article Controller, за да не се вика при всяко рендване на view-то, а само при създаване на нов article.
  Супер! Ще пробвам, мерси!
  06/08/2017 15:19:36
  Да, може и да си създаваш summary-то предварително и да си го пазиш в базата или да го създаваш, само ако е нужно преди да извикваш view-то, защото както е написано така ще пазиш в базата два пъти съдържанието на article.content, което не е много практично при реално приложение.
  06/08/2017 15:26:49
  Ами при php идеята беше да не се изпълнява тази операция всеки път за всяка статия, а във всяка да има записана стойност за summary и тя да се извиква в хоум вюто. А целия content се вика от ditails view-то, закачено за 'Read more' бутона.
  Та всъщност не съм много сигурен дали това е достатъчно да се запишат summer-ита на вече съществуващи статии в базата. Ще тествам.