NodeJS MongoDB处理和存储大量文本

时间:2018-09-27 16:56:17

标签: javascript node.js mongodb express

我有一个NodeJS Express APP,并且正在构建一个端点来更新条款和条件

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

但是我要存储的文本太沉重了(文本具有制表符,单引号和双引号等),并且需要进行大量编辑才能将其放置在json body {“ terms”:“ easy text”}。 {“ terms”:“沉重的” 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 :(得分:1)

您将要使用GridFS。

您可以在此处了解更多信息:GridFS

如果这不能解决您的问题,根据我的经验,当您的模式建模不佳时,会出现此类问题,因此您可能需要重新考虑如何建模。