sql >> Databasteknik >  >> NoSQL >> MongoDB

Bestäm effektivt ägaren till en post i en hierarki med MongoDB

Om du försöker "välja" poster från MongoDB baserat på en "kolumn" som har ett värde från en uppsättning möjliga värden som du skulle behöva en join mot en användarhanteringstabell för att bestämma, då jobbar NoSQL emot dig...

Om listan med användar-ID fortfarande är hanterbar kan du göra en where ownerId in (?,?,?,?,?...) typ av fråga (efter att först ha bestämt listan):

db.documents.find({owner:{$in: [1234, 2345, 4444, 77777, 99999]}})

NoSQL-sättet är förmodligen att denormalisera saker, till exempel genom att inte bara inkludera ägare-ID i dokumentet, utan hela vägen upp i hanteringshierarkin:

{  _id: 'the document A',
   owner : 1234,
   managers: [ 2345, 4444, 77777, 99999 ]
}

Naturligtvis kommer det att behöva uppdateras när användarhierarkin ändras.




  1. Hur exporterar man alla samlingar i MongoDB?

  2. Mongo Change Streams körs flera gånger (typ):Nodapp som kör flera instanser

  3. Hur kan jag köra en JS-skriptfil från Pymongo?

  4. Flask &MongoDB - For Loop fungerar inte