NodeJS MongoDB обрабатывает и хранит огромное количество текста - PullRequest
0 голосов
/ 27 сентября 2018

У меня есть приложение NodeJS Express, и я создаю конечную точку для обновления Положений и условий

http://127.0.0.1:3000/api/admin/info/terms/de?version=2

Однако текст, который я пытаюсь сохранить, слишком тяжелый (текст содержит вкладки, одиночные идвойные кавычки и т. д.) , и требует тонны редактирования для размещения в теле json {"Terms": "easy text"}.{"термин": "тяжелый" текст // "" это."Я не" хочу "" "editööäääÄÄ" "}

Каков наилучший способ обработки такого типа текста? Преобразовать его в двоичный файл и затем отправить его?

Моя конечная точка

  router.post('/terms/:language', async (req, res) => {
  try {
    const { language } = req.params;
    const { version } = req.query;
    const { terms } = req.body;
    if (!version) return res.status(400).json({ message: 'Field "version" is empty' });
    let info = await PageInfo.findOne({ $and: [{ version }, { language }] });
    if (info) {
      const update = await PageInfo.findOneAndUpdate({ version: { $eq: version } }, {
        $set: {
          version,
          terms,
          language
        }
      }, { new: true });
      return res.status(200).json({ type: 'update', data: update });
    }
    info = await PageInfo.create({
      version,
      terms,
      language,
    });
    return res.status(200).json({ type: 'new', data: info });
  } catch (e) {
    return res.sendStatus(500);
  }
});

1 Ответ

0 голосов
/ 27 сентября 2018

Похоже, вы захотите использовать GridFS.

Подробнее об этом можно прочитать здесь: GridFS

Если это не решит вашу проблемуИсходя из моего опыта, такие проблемы возникают, когда ваша схема плохо смоделирована, поэтому вы можете пересмотреть способ ее моделирования.

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