sql >> Databasteknik >  >> NoSQL >> MongoDB

Befolka kapslad array i mangust

Mongoose 4.5 stödjer detta

Project.find(query)
  .populate({ 
     path: 'pages',
     populate: {
       path: 'components',
       model: 'Component'
     } 
  })
  .exec(function(err, docs) {});

Och du kan gå med i mer än en djup nivå.

Redigera 2021-03-17:Det här är bibliotekets implementering, vad det gör bakom scenen är att göra en ny fråga för att hämta en sak åt dig och sedan gå med i minnet. Även om detta fungerar men vi borde verkligen inte lita på. Det kommer att få din db-design att se ut som SQL-tabeller. Detta är kostsamt och kan inte skalas bra. Försök att designa ditt dokument så att det minskar sammanfogningen.



  1. Varför returnerar Laravel Redis::scan('*') en förväntad nyckel men inte Redis::keys('*')?

  2. Redis failover med StackExchange / Sentinel från C#

  3. StackExchange.Redis:Batchåtkomst för flera hash

  4. Hur fyller man i kapslade enheter i mongoose?