MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

$concat две полета в mongodb

Първо трябва да $unwind employee тогава можете да използвате $concat за комбиниране на две полета.

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

Което е много по-лесно с mongodb 3.6 и по-горе $lookup синтаксис.

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



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Използването на $exists в MongoDB израз

  2. Защо MongoDB не може да използва съставен индекс, който е много подобен (не точен) на заявката?

  3. MongoDB:как да зададете ново поле, равно на стойността на друго поле, за всеки документ в колекция

  4. MongoDB $add

  5. Как да поддържам MongoDB - данни на работещ Docker контейнер в ново изображение?