sql >> Database >  >> NoSQL >> MongoDB

$concat twee velden in mongodb

U moet eerst $unwind de employee dan kun je $concat gebruiken om twee velden te combineren.

db.loggableUser.aggregate([
  { '$lookup': {
    'from': 'employees',
    'localField': 'employee',
    'foreignField' : '_id',
    'as': 'employee'
  }},
  { '$unwind': '$employee' },
  { '$addFields': { 
    'employee.fullName' : { '$concat': ['$employee.name' + ' ' + '$employee.surname'] }
  }}
])

Wat veel gemakkelijker is met de mongodb 3.6 en hoger $lookup syntaxis.

db.loggableUser.aggregate([
  { '$lookup': {
    'from': 'employees',
    'let': { 'employee': '$employee' },
    'pipeline': [
      { '$match': { '$expr': { '$eq': ['$_id', '$$employee'] }}},
      { '$addFields': { 'fullName' : { '$concat': ['$name', ' ', '$surname'] }}}
    ]
    'as': 'employee'
  }}
])



  1. MockBean-annotatie in Spring Boot-test veroorzaakt NoUniqueBeanDefinitionException

  2. Verkrijg ObjectIdHex-waarde van mgo-query

  3. Correcte manier om veel records in Mongodb in te voegen met Node.js

  4. Mongodb selecteer alle velden groeperen op één veld en sorteren op een ander veld