sql >> Databasteknik >  >> NoSQL >> MongoDB

MongoDB Schema Design (kapslad array vs separat samling)

Eftersom det låter som att du faktiskt kommer att behöva fråga efter betalningsdata utanför klientens sammanhang (d.v.s. för aggregerad rapportering), skulle jag inte vilja lägga till varje enskild betalningspost till klientinsamlingsobjekten.

Jag skulle verkligen skapa en betalningsobjektsamling och sedan antingen referera till en betalningsnyckel i klientobjektet för varje betalning och klientnyckeln i betalningsobjektet, så att du har ett definitivt sätt att relatera det ena till det andra i endera riktningen, eller har en tredje samling som kartlägger kunder till betalningar.

Vad som är att föredra här kan verkligen bero på ditt åtkomstmönster. Till exempel kanske du inte ens behöver sådana "främmande nycklar" på båda uppsättningarna av objekt om sökningen alltid kommer att vara i en riktning för fall där du behöver upprätta relationen.




  1. $unset är tom. Du måste ange ett fält så här:{$unset:{<field>:...}}

  2. MongoDB-skript till backupreplikering inställt lokalt på en Windows-server

  3. Relativ import av ett paket i python-flaskapplikation

  4. Hur kontrollerar jag noll/null i Redis' Lua cjson?