sql >> Database >  >> NoSQL >> MongoDB

Bekijk de voortgang van een langlopende mongodb-aggregatietaak

Als u de $out gebruikt aggregatiepijplijnoperator om het resultaat van de aggregatie naar een andere (of hetzelfde ) collectie, kunt u een nieuwe mongo-shell openen en zien hoeveel documenten zich in de nieuwe collectie bevinden. Als u de verzameling waaruit u aggregeert, overschrijft, gebruikt MongoDB een tijdelijke verzamelingsnaam om de bewerking atomair te maken, zoals tmp.agg_out.1 . Dus rennen

db['tmp.agg_out.1'].count()

Om de exacte naam van de tijdelijke collectie te achterhalen, kun je de huidige MongoDB log volgen en let op berichten over de aggregatie. mlab en andere cloud MongoDB-hostingproviders hebben mogelijk ook een handige "stroom huidige log" -optie.

Bijvoorbeeld, tijdens het uitvoeren van de query in dit antwoord , kunnen de relevante logberichten er als volgt uitzien:

(Ik hoopte dat nIngevoegd of keysInserted zou wijzen op vooruitgang, maar dat lijkt niet het geval te zijn; de telling van de documenten in de tijdelijke collectie was een veel nauwkeurigere voortgangsindicator.)



  1. Mongoose insert Veel limiet

  2. Formulierschema's en functies opslaan in een database

  3. IP-adres opslaan in mongoDB

  4. MongoDB ETIMEOUT