MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

Agregação do MongoDB junta array de strings para string única


Você estava no caminho certo.

Basta adicionar $reduce sobre $concat em seu $project palco.
'collection2': {
    '$reduce': {
        'input': '$collection2',
        'initialValue': '',
        'in': {
            '$concat': [
                '$$value',
                {'$cond': [{'$eq': ['$$value', '']}, '', ', ']}, 
                '$$this']
        }
    }
}

Observação:usamos $cond para evitar um , principal na concatenação. Você também pode usar $substrCP antes de $reduce como uma alternativa para $cond .