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

Jak mohu zkombinovat více kolekcí do jedné kolekce pomocí $lookup mongodb nebo nodejs mongodb?

Abyste se této chybě vyhnuli, měli byste použít $skip a $limit. proč dostáváte tuto chybu? musíte si přečíst odkaz na komentář @Alex.

db.products.aggregate([ 
    {$skip:0},{$limit: 1000},
    {$lookup:{from:"productgroups", localField:"productgroupid", foreignField:"productgroupid", as:"group"}},
    {$lookup:{from:"category", localField:"categoryid", foreignField:"categoryid", as:"category"}},
    {$lookup:{from:"divisions", localField:"divisionid", foreignField:"divisionid", as:"division"}},
    {$project: {productpoint:1,productname:1,productcode:1,productid:1,group: { $arrayElemAt: [ "$group", 0 ]},
                category: { $arrayElemAt: [ "$category", 0 ]}, division: { $arrayElemAt: [ "$division", 0 ]} }} 
  ]);

{$skip:0},{$limit: 1000} // pro počáteční a potom pro příště by mělo přeskočit:1000, limit:1000 a tak dále. můžete jej získat z požadavku nebo pomocí smyčky nebo podle implementace.




  1. Vizualizace topologie vašeho clusteru v ClusterControl

  2. Vrátit omezený počet záznamů určitého typu, ale neomezený počet dalších záznamů?

  3. MongoDB $mul

  4. Jak funguje převzetí služeb při selhání ServiceStack PooledRedisClientManager?