sql >> Database teknologi >  >> NoSQL >> MongoDB

MongoDB-aggregering med $lookup inkluderer (eller projekterer) kun nogle felter, der skal returneres fra forespørgslen

Bare for at hjælpe andre med dette, har @SiddhartAjmera det rigtige svar, jeg behøvede kun at tilføje dobbelte anførselstegn for indlejrede værdier som "campaign.clientid".

Den endelige kode skal være:

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. Hvordan får man nøglen fra værdi i nøgle/værdipar i redis butiksklient?

  2. Sådan indlæses en hash sikkert og konverterer en værdi til en boolean, hvis den findes

  3. Redis Enterprise Clustering Command Fejl 'CLUSTER'

  4. Redis Pub Sub-kanalhukommelse