Некоторые мысли.
Сохраните указанное поле c как одну и ту же единицу, независимо от того, как вы снимаете - например, расстояние всегда сохраняется в футах. Поле будет сохранено как { distance_feet: 120 }
.
Сохранить указанное поле c по мере его захвата, т. Е. Поле может быть захвачено с различными единицами измерения. Это будет иметь дополнительное поле с указанием «единиц». Например, { distance: 120, units: "feet" }
. В этом случае полевые единицы могут быть "футами" или "метрами".
В обоих случаях приложение (или программа) logi c может позаботиться о преобразовании футов в метры или наоборот.
В коллекции может быть сохранено дополнительное поле, называемое «translation_factor» (например, для преобразования футов и метров, { conversion_factor: 3.38084 }
). Это включает в себя хранение одной и той же информации в базе данных много раз, и при большом объеме данных это увеличивает пространство и память при чтении данных - фактор, который необходимо учитывать.
Какую информацию хранить и как зависит от факторов :
- Какова цель этих данных и как они используются в приложении?
- Запрашиваются ли они? Как и в каком формате? Снято в каком формате? Как часто? Какие вычисления (вычисления, сравнения и т. Д.) Происходят с этими данными?
Я думаю, что требования к приложениям или их функциональность должны определять способ проектирования данных, а не программирование. Это. На этом этапе вы должны знать, какие важные вещи вы будете делать с данными.
У меня есть около 20 различных типов полей, таких как скорость, расстояние, мощность, площадь, угол и другие. Я хотел бы хранить все поля разных типов единиц в одних и тех же единицах, чтобы я мог их сравнить.
Я думаю, сравнение - это вычисление, и программа может позаботиться о таких данных, как «коэффициент преобразования» "и преобразование из одного блока в другой.