Я создаю приложение с Mongo, Express и Node.js. Приложение настраивает модели/описания боевых машин для настольных военных игр (борьба с миниатюрами).Какая стратегия хранения и поиска данных более эффективна в этом сценарии?
Каждое транспортное средство имеет несколько свойств, таких как тип кузова, источник питания и т. Д. Есть около полутора десятков таких свойств. Параметры, доступные для каждого объекта, в большинстве случаев составляют менее десятка. Хотя некоторые из параметров будут иметь несколько точек данных (стоимость, вес, размер, имя и т. Д.), Описания этих параметров не будут меняться часто, если вообще. Кроме того, хотя возможно добавление новых опций, это будет нечастым.
Иными словами, большая часть данных будет статичной.
Данные пользователя (какие транспортные средства пользователь разработал и т. Д.) И описания транспортных средств будут храниться в базе данных монго, поскольку они могут изменяться и часто расширяться.
Однако, было бы более целесообразно включить часть этой другой информации в качестве констант в программировании API? Список значений для позиций компонентов - это простой массив (верхний, нижний, передний, задний, левый правый), так что это легко сделать. Но как насчет типа тела, где есть 13 вариантов, каждый из которых имеет 6 свойств (имя, тип, стоимость, вес и т. Д.). Является ли более эффективным, чтобы просто поместить что-то подобное в файл JSON, полученный при необходимости? Или разместить его в базе данных?
Опять же, данные (в значительной степени) статичны, поэтому техническое обслуживание не является серьезной проблемой. Использование памяти и, возможно, пропускная способность сети.
В случае файла JSON API (или пользовательский интерфейс в зависимости от сценария) необходимо будет использовать функции фильтрации, которые я пишу, чтобы выбрать соответствующие записи, хотя итерация по массиву из 13 элементов не кажется это интенсивное. Между тем, если я сохраню его в Монго, я буду только смотреть на данные, которые уже были отфильтрованы. Будет ли вызов Mongo быстрее и/или менее ресурсоемким, чем открытие простого текстового файла?
Есть ли грубый порог для этого? Есть более 2 дюжин оружия, некоторые из которых имеют вариации.
Итак, мне лучше просто сделать файл JSON или поместить его в коллекцию Mongo? или это не имеет значения, и, возможно, я фокусирую это как способ отложить получение кода?