@siloam:
Przykładowa baza forum 4Programmers, jest pole "name"
https://4programmers.net/Mikroblogi/View/92315
Szukasz wśród użytkowników 4P kotów : cat/Cat i sortujesz po pozycji wystąpienia kota - założenie dodatkowe: Cat < cat (jak ASCII)
db.getCollection("users").aggregate([
{$match:{"name":{$regex:/[cC]at/}}},
{$project:
{_id:0,name:1,
position_small:{$indexOfCP:["$name",'cat']},
position_big:{$indexOfCP:["$name",'Cat']},
}},
{$sort:{
position_small:1,
position_big:1,
name:-1,
},
},
]);
Posortowane Koty na 4P
+------------------------------+------------+--------------+
|name |position_big|position_small|
+------------------------------+------------+--------------+
|Catty82 |0 |-1 |
|Catty |0 |-1 |
|Catosik |0 |-1 |
|Cato_ |0 |-1 |
|Cato |0 |-1 |
|Catjit1161 |0 |-1 |
|Cathy |0 |-1 |
|CatchTime |0 |-1 |
|Catalonya1992 |0 |-1 |
|Cataleya |0 |-1 |
|CatXeN |0 |-1 |
|SlavCat |4 |-1 |
|RoboCat |4 |-1 |
|HellCat |4 |-1 |
|BlueCat |4 |-1 |
|GonnaCatchU |5 |-1 |
|BlackCat213 |5 |-1 |
|TheFatCat |6 |-1 |
|RoboBoboCat |8 |-1 |
|Cheshire Cat |9 |-1 |
|Krystian “CopyCat” Nowak |14 |-1 |
|Balthasar the Cat |14 |-1 |
|cattreen |-1 |0 |
|catshy |-1 |0 |
|catsanddogs19 |-1 |0 |
|cats |-1 |0 |
|caton |-1 |0 |
|catom |-1 |0 |
|catisun |-1 |0 |
|cathysimpson |-1 |0 |
|catherina |-1 |0 |
|catchor |-1 |0 |
|catchmeifyoucan |-1 |0 |
|catch me |-1 |0 |
|catcat |-1 |0 |
|catalyst243 |-1 |0 |
|catalyst |-1 |0 |
|cat_black |-1 |0 |
|cat84 |-1 |0 |
|cat |-1 |0 |
|Scatman89 |-1 |1 |
|Scatman1 |-1 |1 |
|Scatman |-1 |1 |
|4catt |-1 |1 |
|owcatoja |-1 |2 |
|micatari |-1 |2 |
|hicat |-1 |2 |
|ducati |-1 |2 |
|d1catt |-1 |2 |
|alcatrass |-1 |2 |
|S-cat |-1 |2 |
|Alcatraz |-1 |2 |
|Alcatar |-1 |2 |
|tomcat |-1 |3 |
|tadcat |-1 |3 |
|madcat |-1 |3 |
|keycat |-1 |3 |
|educativo.pl |-1 |3 |
|educat |-1 |3 |
|Tomcat_ |-1 |3 |
|Tomcat12 |-1 |3 |
|suricat |-1 |4 |
|relocateme.eu |-1 |4 |
|plotcat |-1 |4 |
|goodcat |-1 |4 |
|freecat |-1 |4 |
|dedicated |-1 |4 |
|copycat45 |-1 |4 |
|blancatttt |-1 |4 |
|RelocateMe |-1 |4 |
|Ironcat |-1 |4 |
|Benycat |-1 |4 |
|willscater |-1 |5 |
|vindicator |-1 |5 |
|pussycat |-1 |5 |
|felixcatus |-1 |5 |
|dreamcatcher |-1 |5 |
|blackcatcher |-1 |5 |
|Survicate |-1 |5 |
|NoEducation |-1 |5 |
|Mysticate |-1 |5 |
|certificates4sale |-1 |7 |
|Pusheencat |-1 |7 |
|Excommunicater |-1 |9 |
|spacecybercat |-1 |10 |
|pocketsizecat |-1 |10 |
|Filozofification |-1 |10 |
|XnetCommunications |-1 |11 |
|little-blackcat |-1 |12 |
|valid certificate manufacturer|-1 |13 |
|PusheenFatTomcat |-1 |13 |
+------------------------------+------------+--------------+