Лично я еще не сохранял файлы в MongoDB, но согласно mongodb.org довольно эффективно хранить файлы в базе данных.Хранение файлов в базе данных дает следующие преимущества:
- Поскольку файлы разбиты на фрагменты, вы можете извлечь только часть файла.Полезно для таких объектов, как видео, не так уж много для SVG.
- Все ваши файлы реплицируются вместе с вашей базой данных, поэтому вам не нужно настраивать отдельную систему репликации только для ваших файлов.
Теперь, вещь, которая, кажется, сдерживает вас, - это экранирование данных.Однако вам нужно экранировать данные SVG только в том случае, если вы вручную вводите операторы в оболочку MongoDB.Если вы используете драйвер для взаимодействия с базой данных, драйвер позаботится о экранировании специальных символов в данных.Когда вы считываете данные в своем коде, драйвер также удаляет данные для вас.
Пример, демонстрирующий в оболочке MongoDB:
var myObject = { "myKey": "Data with \"special\" characters." }
print(myObject.myKey)
В первой строке Iприходится избегать кавычек, потому что я вручную набираю оператор.Драйверы MongoDB сделают это за вас , если вы будете взаимодействовать с базой данных из кода.
Оператор print()
автоматически удаляет данные, поэтому вывод будет:
Данные со «специальными» символами.
Драйверы базы данных также автоматически отменяют строки.Если вы отправляете объект JSON в браузер клиента и считываете значения с помощью JavaScript, браузер также удаляет данные .
Когда вы вручную готовите данные для вставки, вы будет избегать спецсимволов, нет никакого способа обойти это.Но как только вы взаимодействуете с базой данных из кода, драйверы базы данных позаботятся об этом, и вам не придется об этом беспокоиться.