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

Agregacja MongoDB z $lookup zawiera tylko (lub projekt) niektóre pola do zwrócenia z zapytania

Aby pomóc innym w tym, @SiddhartAjmera ma właściwą odpowiedź. Musiałem tylko dodać podwójne cudzysłowy dla zagnieżdżonych wartości, takich jak „campaign.clientid”.

Ostateczny kod powinien wyglądać następująco:

db.somecollection.aggregate([
      {
        "$lookup": {
          "from": "campaigns",
          "localField": "campId",
          "foreignField": "_id",
          "as": "campaign"
        }
      },
      {
        "$unwind": "$campaign"
      },
      {
        "$lookup": {
          "from": "entities",
          "localField": "campaign.clientid",
          "foreignField": "_id",
          "as": "campaign.client"
        }
      },
      {
        "$project": {
          "_id": 1,
          "campId": 1,
          "articleId": 1,
          "campaign._id": 1,
          "campaign.clientid": 1,
          "campaign.client._id": 1,
          "campaign.client.username": 1
        }
      }
]);


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Aktualizowanie zagnieżdżonych tablic w mongoDB za pośrednictwem powłoki mongo

  2. Narzędzia MongoDB od społeczności, które uzupełniają ClusterControl

  3. Pobierz wartość z MongoDB według jej nazwy klucza

  4. MongoDB findOneAndDelete()

  5. Mongoose:Uzyskaj pełną listę użytkowników