sql >> Databasteknik >  >> NoSQL >> MongoDB

MongoDB Aggregation sammanfogar en rad strängar till en enda sträng

Du var på rätt väg.

Lägg bara till $reduce över $concat i ditt $project skede.

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

Obs! Vi använder $cond för att förhindra en inledande , i sammansättningen. Du kan också använda $substrCP före $reduce som ett alternativ till $cond .



  1. Sidekiq hittar inte rekord för Rails Active Job

  2. Ansluter till en fjärransluten mongoDB-server

  3. Mongo:datum i sammanställd matchningsfråga verkar ignoreras

  4. Mongo uppdaterar alla poster med ett fält som är null