Наша заявка основана на MongoDB. Мы сохраняем «имена», «версии» и различные атрибуты ИТ-активов в MongoDB. У нас есть новое требование поиска, в котором нам нужно получить последнюю версию активов на основе ключевых слов. Улов здесь состоит в том, что мои номера версий имеют формат xyz (то есть major.minor.maintenance)Mongodb сортировать по версии x.y.z
В принципе, я должен иметь набор результатов, отсортированный сначала по основной версии (desc), затем второстепенную (desc) и затем версия обслуживания (desc). , например. Для номеров версий, приведенных ниже: 1.0.10 1.1.0 11.0.0 2.0.1 Отсортированная версия должна быть: 1.0.10 1.2.10 2.0.1 11.0.0 Можно для меня правильно сортировать его на слое Mongo? К сожалению, номер версии просто сохраняется как одно строковое значение, а не структурированный объект в формате x.y.z.
Заранее благодарен! Zeba
Вы можете выполнить одноразовую задачу и разбить эту строку версии на отдельные компоненты, чтобы ее можно было запросить больше. –
Я действительно занимался этим, но стараюсь избегать этого на данный момент, поскольку для моего приложения существуют различные зависимости. – zeba
Чтобы избежать нарушения ваших зависимостей, создайте другое поле версии, исходя из того, которое у вас уже есть, и используйте его для сортировки. – Rafa