Ответы пользователя по тегу Express.js
  • Update в mongoose не обновляет поля?

    maximsohryakov
    @maximsohryakov Автор вопроса
    MiMEKiZ
    Спустя сутки, получилось сделать задуманное, только используя костыль вида:
    spoiler
    apartment.find({}, (err, apart) => {
          if(err) return new Error('Error in find');
    
          apart.forEach((v, k, apart) => {
            apartment.findByIdAndUpdate(apart[k]._id, {$set: { dsfgfdg: 'fff'}}, {strict: false, new: true}, (err, ap) => {
              if(err) return new Error('Error in save');
              console.log(ap);
              ap.save((err, ress) => {
                //console.log(ress);
              });
            });
          });
        });


    Вся суть была в свойстве
    strict: false


    Что говорится в документации:
    Ответ
    The strict option, (enabled by default), ensures that values passed to our model constructor that were not specified in our schema do not get saved to the db.

    Строгая опция (включена по умолчанию) гарантирует, что значения, переданные в конструктор модели, которые не были указаны в нашей схеме, не будут сохранены в БД.



    Не знаю, оставлять ли, или удалять. Может быть пригодиться кому.
    Ответ написан