sql >> Databasteknik >  >> NoSQL >> MongoDB

Bästa sättet att lagra/få värden refererade från en lista i Mongo/RectiveMongo?

Jag tacklade exakt detta problem för ett tag sedan.

Det finns inga anslutningar i mongo. Du måste ta hand om anslutningen manuellt.

Dina alternativ är:

  1. Bläddra igenom varje kommentarsinlägg och fråga mongo för användaren. det här är vad du gör.
  2. Hämta alla användar-id:n från kommentarer, fråga mongo för användarna som matchar dessa id, se till att matcha användare till kommentar. Det här är precis vad du gjorde men lite mer optimerat.
  3. Bädda in användaren i kommentarer eller kommentarer i användare. Skulle inte rekommendera detta, det här är förmodligen inte rätt plats för kommentarer/användare.
  4. Tänk på vilken uppsättning data du behöver från användaren när du visar en kommentar, och bädda in just denna information i kommentaren

Det slutade med att jag valde det sista alternativet.
Vi bäddade in användar-id, för- och efternamn i varje kommentar. Denna information kommer sannolikt inte att ändras (möjligen inte ens tillåten att ändras efter skapande?).
Om det kan ändras då är det inte så svårt att skräddarsy uppdateringsanvändarmetoden för att uppdatera de relaterade kommentarerna med den nya informationen (det gjorde vi också).
Så nu behövs ingen koppling.




  1. Det gick inte att ladda filen eller sammansättningen System.Runtime.CompilerServices.Unsafe

  2. MongoDB - Skriv ut

  3. Kontrollera om ett värde redan finns i en lista Redis

  4. Kan inte ansluta till redis med jedis