sql >> Database >  >> NoSQL >> MongoDB

PHP MongoDB - Het gebruik van het aggregatiecommando zonder de cursoroptie is verouderd. Wat?

Als je iets opvraagt ​​bij MongoDB en je verwacht resultaten, dan heb je deze variabele genaamd cursor , wat eenvoudigweg een verwijzing is naar het document dat u momenteel hebt gelezen. Het is net als een schuifbalk in de browser.

U kunt specificeren hoeveel documenten het in een buffer moet lezen batchSize zoals je deed met waarde 1 .

Het is handig als u weet hoeveel documenten u verwacht te lezen. Als je maar 10 documenten nodig hebt, kun je ze allemaal in een enkel netwerkpakket krijgen met batchSize => 10 . Wanneer batchSize => 5 . opgeeft , duurt het langer omdat het twee netwerkpakketten naar de database kost om de verwachte 10 documenten te krijgen.

U bent veilig met de standaard batchSize .

U kunt proberen de cursor te herhalen met foreach zoals in een voorbeeld in de documenten:http://php.net/manual/en /class.mongocommandcursor.php

Ik weet niet zeker of de php.net-documentatie up-to-date is met de meest recente versie van het MongoDB-stuurprogramma.



  1. Best practices voor het uitvoeren van MongoDB in een cluster

  2. Map/reduce gebruiken om de eigenschappen in een collectie in kaart te brengen

  3. Is het mogelijk om met Mongoose een nieuwe database in MongoDB te maken?

  4. BSON Type ObjectId converteren naar JSON (opslaan in Mongodb) -Java