Пн go дБ запрос строки на основе диапазона - PullRequest
0 голосов
/ 29 апреля 2020

У меня есть название модели product , у которого есть ключ ageGroup: ["10 - 12", "13 - 15"] массив строк диапазона

Мне нужно запросить все элементы, если я передам ageGroup 10, 11 или 15 в число или строка.

Например,

db.product.find({ageGroup: 11})

Или

db.product.find({ageGroup: 15})

Приносим извинения за неправильный ввод текста с помощью мобильного приложения.

Ответы [ 2 ]

1 голос
/ 30 апреля 2020

Если вы сохраняете это в том же формате, вы можете использовать агрегированный запрос substr для извлечения данных. https://docs.mongodb.com/manual/reference/operator/aggregation/substr/

0 голосов
/ 30 апреля 2020

Если у вас есть предопределенный список строк диапазонов. Вы можете найти диапазон сначала из этого списка за пределами MongoDB, а затем использовать эту строку для запроса. Реализация будет зависеть от языка, который вы используете.

Если у вас нет этой информации заранее. Вы можете использовать $map, $split, $toInt, $arrayToObject в конвейере агрегации для преобразования ["10 - 12", "13 - 15"] во что-то вроде [{ "from": 10, "to": 12 }, { "from": 13, "to": 15 }], которое будет легче фильтровать.

...