sql >> Databasteknik >  >> NoSQL >> MongoDB

vad är det verkliga syftet med $ref (DBRef) i MongoDb

I grund och botten är en DBRef ett självbeskrivande objekt-ID som en hjälphjälp på klientsidan, som finns i alla drivrutiner (tror jag alla), ger möjligheten i din applikation att enkelt få relaterade rader.

De är inte:

  • GÅR MED
  • Kaskaderbara relationer
  • Relationer på serversidan
  • Löstning på serversidan

De används inte heller inom Map Reduce, funktionaliteten togs bort på grund av komplikationer med skärning.

Det är dock inte alltid bra att använda dessa, för det första tar de ganska mycket utrymme om du känner till samlingen som är relaterad till den raden i jämförelse med att bara lagra ObjectID. Inte bara det, utan på grund av hur de löses måste varje relaterad post laddas en efter en istället för att kunna bilda ett intervall (enkelt) för att söka efter relaterade rader på en gång, så att de kan öka antalet frågor du gör till databasen också, vilket i sin tur ökar markörerna.



  1. Lagra en dataURL i MongoDB för att komma åt den via lokal URL (JS)

  2. Använda S3 som en databas kontra databas (t.ex. MongoDB)

  3. Grundläggande överväganden för att ta en MongoDB-säkerhetskopia

  4. Anpassat lagringssystem för GridFS (MongoDB)?