MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

MongoDB Aggregation joint un tableau de chaînes à une seule chaîne

Vous étiez sur la bonne voie.

Ajoutez simplement $reduce sur $concat dans votre $project étape.

'collection2': {
    '$reduce': {
        'input': '$collection2',
        'initialValue': '',
        'in': {
            '$concat': [
                '$$value',
                {'$cond': [{'$eq': ['$$value', '']}, '', ', ']}, 
                '$$this']
        }
    }
}

Remarque :Nous utilisons $cond pour empêcher un , de début dans la concaténation. Vous pouvez également utiliser $substrCP avant $reduce comme alternative à $cond .