sql >> Databáze >  >> NoSQL >> MongoDB

$concat dvě pole v mongodb

Nejprve musíte $unwind employee pak můžete použít $concat spojit dvě pole.

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

Což je mnohem jednodušší s mongodb 3.6 a výše $lookup syntaxe.

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



  1. jak vytvořit index z mongoose v elastickém vyhledávání v node,expressjs

  2. agregační řazení mongodb

  3. Jak mohu provést podmíněné vyhledávání v pymongo?

  4. Projekce na dotaz MongoDb pomocí dat Spring a QueryDSL