У меня есть случай, когда код нашего сервера при весенней загрузке использует mongodb как базу данных Ранее API поддерживался только для android, и моя задача заключалась в том, чтобы интегрировать изменения и для веб-приложения.
Mongodb имеет int
поле androidId
, хранящееся в коллекции устройств. Мне также нужно поддерживать веб-устройства. Поэтому я решил изменить int androidId
на string platfromId
и добавить новое string
поле platform
в коллекцию.
Но мне сказали, что вместо этого я должен добавить новое поле webId
, потому что мы могли бы использовать операторы greater than
и less than
позже для android. В настоящее время мы используем только оператор equals
, который проиндексирован. Была также высказана обеспокоенность по поводу необходимости индексирования platfromId
и platfrom
(но в этом случае androidId
, webId
et c также будут проиндексированы с другим подходом).
Итак , мой вопрос, каковы плюсы и минусы обоих подходов? Имеют несколько полей в зависимости от платформы, такие как androidId
, webId
, iosId
et c против более общих c полей, таких как platfromId
и platfrom
?
Я думаю это Я добавлю много шаблонов в код и сделаю их не поддерживаемыми позже, и они должны использовать общие поля c.