MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

$concat dwa pola w mongodb

Najpierw musisz $unwind employee wtedy możesz użyć $concat połączyć dwa pola.

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

Co jest znacznie łatwiejsze dzięki mongodb 3.6 i powyżej $lookup składnia.

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. Python + MongoDB - Iteracja kursora jest zbyt wolna

  2. Błąd krytyczny PHP:nie znaleziono klasy „MongoDate”

  3. pymongo - jak dopasować przy wyszukiwaniu?

  4. MongoDB kontra Cassandra

  5. jak rozwiązać ten błąd transakcji w Mlab? [MongoError:Numery transakcji są ... obsługują blokowanie na poziomie dokumentu]