Найти различную длину строкового поля, используя оболочку монго - PullRequest
0 голосов
/ 23 февраля 2019

Учитывая коллекцию монго, такую ​​как:

col1   col2
1      "mango"
2      "banana"
3      "watermelon"
4      "orange"

Как получить длину различных длин строк столбца col2?Вероятно, он будет использовать функцию strLenCP, но не сможет сконструировать ее только для проекции.

Ожидаемый результат будет: (5, 6, 10), поскольку различная длина строки (банан, оранжевый) равна6, арбуз 10 и манго 5.

1 Ответ

0 голосов
/ 24 февраля 2019

Это можно сделать с помощью конвейера агрегации, используя $strLenCP в $group:

db.test.aggregate([
    // Group documents by their col2 string length
    {$group: {_id: {$strLenCP: '$col2'}}}
])

Вывод:

{ "_id" : 10 }
{ "_id" : 6 }
{ "_id" : 5 }
...