sql >> Databasteknik >  >> NoSQL >> MongoDB

MongoDB för att använda Sharding med $lookup Aggregation Operator

Som dokumenten du citerar indikerar kan du inte använda $lookup på en delad samling. Så den bästa lösningen är att utföra sökningen själv i en separat fråga.

  1. Utför din aggregate fråga.
  2. Placera "localField"-värdena från dina frågeresultat till en array, eventuellt med Array#map .
  3. Utför en find fråga mot samlingen "från" med en fråga som {foreignField: {$in: localFieldArray}}
  4. Slå samman dina resultat till det format du behöver.

Låt inte $lookup begränsning hindrar dig från att skära samlingar som kräver det för skalbarhet, utför bara uppslagsfunktionen själv.



  1. MongoDB $degreesToRadians

  2. Redis sub/pub och php/nodejs

  3. Mongodb räknar alla arrayelement i alla objekt som matchar efter kriterier

  4. MongooseError [MongooseServerSelectionError]:anslutning <monitor> till 52.6.250.237:27017 stängd