sql >> Database >  >> NoSQL >> MongoDB

Hoe kan ik meerdere verzamelingen in één verzameling combineren met $lookup mongodb of nodejs mongodb?

U moet $skip en $limit gebruiken om deze fout te voorkomen. waarom krijg je deze fout? je moet de @Alex-reactielink lezen.

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} // voor initiaal en dan voor de volgende keer moet overslaan:1000, limiet:1000 enzovoort. je kunt het op verzoek krijgen of door lus te gebruiken of zoals je het implementeert.




  1. MongoDB $mod

  2. Meerdere exemplaren van Redis uitvoeren op Centos

  3. Mongo-aggregatie Overeenkomen met meerdere waarden

  4. Verbinding maken met MongoDB 3.0 met Java Spring