Можно ли записать коллекции MongoDB в JSON с помощью узла? - PullRequest
0 голосов
/ 03 апреля 2020

Я пишу веб-приложение с использованием узла express и понедельника go. Я хочу иметь возможность записать содержимое всех моих коллекций (в основном, всю базу данных) в файл one JSON. Всего около 8 коллекций. Я получил возможность записать одну из коллекций в файл JSON здесь:

User.find({}, (err, docs) => {
      if (err)
        return res.sendStatus(500)
      fs.writeFile('output.json', JSON.stringify(docs, null, 2), err => {
        if (err)
          return res.sendStatus(500)

        return res.json(docs)
      })
    })

Но когда я пытаюсь сделать то же самое с другой коллекцией, она просто перезаписывает то, что уже находится в файле. Итак, предположительно, что было бы идеально, если бы сохранить результат каждого вызова Model.find ({}) в переменной и поместить их в какой-то массив, а затем передать этот массив в JSON .stringify ()? Есть идеи?

1 Ответ

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

Вы можете использовать Флаги файловой системы и передать параметр 'a' в writeFile, который добавится к вашему файлу. По умолчанию функция writeFile откроет ваш файл output.json для записи и перезапишет существующее содержимое (используя опцию 'w').

Кроме того, вы можете использовать writeFileSync для убедитесь, что ваши данные записаны синхронно.

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