Как вставить много документов в коллекцию, только если они не существуют? - PullRequest
1 голос
/ 29 апреля 2020

Я использую mon goose в своем приложении node.js, я хочу вставить массив документов в коллекцию, только если их нет.

Что я сейчас делаю:

  const tags = ['game', 'movie'];

  tags.forEach(element => {
    const tag = await Tag.find({ tagName: element });
    if(!tag) {
      const newTag = new Tag({
        tagName: element
      })
      newTag.save();
    }
  });

Это хорошо, но должен быть лучший способ сделать это вместо использования forEach, есть ли что-то вроде insertMany, но только если их нет?

Моя коллекция выглядит следующим образом:

[{
_id: sadsadasdsad,
tagName: 'game'
}]

1 Ответ

0 голосов
/ 29 апреля 2020

Согласно этой статье вам необходимо иметь массив документов, чтобы иметь такое же поведение, как и insertMany. Таким образом, кажется возможным insert с одним и несколькими документами в пн goose.

С другой стороны, то, что вы пытаетесь достичь, похоже, имеет некоторую логику c (не основную c вставку) / delete), которая может не иметь решения непосредственно от водителя.

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