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

MongoDB til at bruge Sharding med $lookup Aggregation Operator

Som de dokumenter, du citerer, angiver, kan du ikke bruge $lookup på en sønderdelt samling. Så den bedste løsning er at udføre opslag selv i en separat forespørgsel.

  1. Udfør dit aggregate forespørgsel.
  2. Træk "localField"-værdierne fra dine forespørgselsresultater ind i en matrix, muligvis ved hjælp af Array#map .
  3. Udfør en find forespørgsel mod samlingen "fra" ved hjælp af en forespørgsel som {foreignField: {$in: localFieldArray}}
  4. Flet dine resultater til det format, du har brug for.

Lad ikke $lookup begrænsning forhindrer dig i at sønderdele samlinger, der kræver det for skalerbarhed, bare udfør opslagsfunktionen selv.



  1. Memcached vs. Redis?

  2. MongoDB deleteMany()

  3. Kombinerer $regex og $or operatorer i Mongo

  4. Python-redis:Hent binære data efter en klient blev sat op med decode_responses=True