Как добавить строку к текущему значению в mon goose updateMany () - PullRequest
0 голосов
/ 14 марта 2020

// node js mongoose // ids = ['id1', 'id2'] например

const usersUpdated = await User.updateMany(
  { _id: { $in: ids } },
  [
    { $set: { username: { $concat: ['$username', deletedFormate] } } }
  ],
  { multi: true, new: true },
  function(error, result) {

  }
);

// Мне нужно добавить строку после того, как все совпадут с именем пользователя // например, если updateMany () найти 2 документа // 1. username = "m2012" Я хочу добавить "55555" с m2012, и после обновления это будет // "m201255555"

1 Ответ

1 голос
/ 14 марта 2020

Пожалуйста, следуйте приведенному ниже методу для использования $ concat

let query = {
    _id: {
        $in: ids
    }
};
let changes = {
    $set: {
        username: {
            "$concat": ["$username", deletedFormate]
        }
    }
};
let usersUpdated = await User.updateMany(query, [changes]).lean();
console.log(usersUpdated);

Примечание: Вышеуказанный метод работает только для mongodb версии 4.2 и выше

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