sql >> Databáze >  >> NoSQL >> MongoDB

PHP MongoDB - Použití agregačního příkazu bez možnosti kurzoru je zastaralé. Co?

Když něco zadáte do MongoDB a očekáváte výsledky, budete mít tuto proměnnou s názvem cursor , což je jednoduše ukazatel na dokument, který jste právě četli. Je to jako posuvník v prohlížeči.

Můžete určit, kolik dokumentů má načíst do vyrovnávací paměti batchSize jako jste to udělali s hodnotou 1 .

Je to užitečné, když víte, kolik dokumentů očekáváte, že přečtete. Když potřebujete pouze 10 dokumentů, můžete je získat všechny v jediném síťovém paketu pomocí batchSize => 10 . Při zadání batchSize => 5 , bude to trvat déle, protože k získání očekávaných 10 dokumentů jsou potřeba dva síťové pakety do databáze.

Jste v bezpečí, pokud používáte výchozí batchSize .

Můžete zkusit iterovat kurzor pomocí foreach jako v příkladu v dokumentech:http://php.net/manual/en /class.mongocommandcursor.php

Nejsem si jistý, zda je dokumentace php.net aktuální s nejnovější verzí ovladače MongoDB.



  1. Jak nainstalovat ovladač PHP MongoDB pro XAMPP na OSX?

  2. Zadání názvu kolekce pomocí MongoEngine

  3. Jaký je maximální počet shardů, které může mít MongoDB?

  4. Jak převést řetězec se znaky v int pro celou kolekci?