sql >> Database >  >> NoSQL >> MongoDB

Geneste populatiefiltering is MongoDB

Wacht bij het uitvoeren van await Order.find({}).populate({ .) , Mongoose stuurt eerst de find naar de mongod-server en retourneert een cursor, die wordt doorgegeven om te vullen.

Populate haalt vervolgens elk document op van de cursor en verzendt een aparte find aan de user collectie om het/de overeenkomende document(en) op te halen en herhaalt die cursor, waarbij de opgehaalde documenten in een array in het originele document worden geplaatst.

Invullen kan van invloed zijn op welke documenten zijn ingesloten in de originele documenten, maar het heeft geen mogelijkheid om documenten uit de originele resultatenset te verwijderen.

De match doorgegeven om te vullen betekent dat alleen overeenkomende gebruikers aan het originele document worden toegevoegd, dus u zou filter moeten kunnen gebruiken om alle documenten in het resultaat te verwijderen die geen gebruikers bevatten.




  1. Hoe stuur ik een object van MongoDB naar jade?

  2. MongoDb-aggregatie $ match-fout:argumenten moeten geaggregeerde pijplijnoperators zijn

  3. Waarom is SQLite sneller dan Redis in deze eenvoudige benchmark?

  4. Kan ik de standaard MongoDB-index verwijderen?