是否有选项可以使用 php 将 mongoDB 光标快速转换为数组



我在使用 PHP 将 MongoDb 光标转换为数组时遇到问题。我有 40 000 行,转换它大约需要 40 秒,但从 mongo 获取它只需要 19 毫秒。有什么选择可以使其更快吗?

我尝试了Cursor->getArray和iterator_to_array,需要花费大量时间才能完成它。我在MongoDb中的数据最多有四个嵌套,您认为减少嵌套可以减少转换时间吗?

提前谢谢你!

40,000 行复制并整理到 PHP 数组中需要大量的内存和时间。您应该重构代码,使其不使用数组,而是尽可能使用提供的"游标"迭代器。

迭代器将循环访问集合中与查询匹配的每个文档(find()参数(。每个文档的引入方式类似于 json 对象的方式(bson,Mongo 的存储格式,受 json 的启发(,这是一个 PHP 数组。

如果要访问文档中与每个文档匹配的内部数组。

$cursor = $collection->find();
foreach ($cursor as $doc) {
     echo $doc["inner_array"] . "n";
}

最新更新