Я создал запрос, который возвращает результаты, содержащие "Be"
внутри значения поля. например .:MongoDb: результаты сортировки текстового поиска
db.collection.find({ "$or" : [ { "name.en" : { "$regex" : "Be" } } , { "defaultName" : { "$regex" : "Be" } } ] })
Однако возвращаемые результаты сортируются в случайном порядке, некоторые содержат "Be"
внутри слова, некоторые в начале, некоторые в конце концов.
Возможно ли создать единый запрос, который будет сортировать результаты следующим образом: первые возвращенные результаты будут начинаться с "Be"
, а потом это будет все остальное? Результаты
Запрос Пример:
{
"defaultName" : "Belgium",
...
},
{
"defaultName" : "Berlin",
...
},
{
"defaultName" : "Bombei",
...
},
{
"defaultName" : "Danube",
...
}
Звучит как рабочее решение. К сожалению, я пока не вижу другого решения, кроме использования структуры агрегации. Спасибо за ответ. –
Это мое удовольствие :-) – profesor79