当前位置: 首页 > 知识库问答 >
问题:

PHP的foreach如何使用MongoDB游标?

胡劲
2023-03-14

我们使用MongoDB驱动程序中的某些函数来迭代游标,我们可以使用“hasNext()”和“getNext()”。但我们也可以使用简单PHP的foreach来迭代游标,而不必调用上述方法。

我的问题是,如果foreach是一个简单的PHP函数,它如何与MongoDB一起工作?它如何从游标中获取记录?它是在内部使用MongoDB的“cursor.forEach()”,还是在内部运行“hasNext()”和“getNext()”?

任何帮助都将不胜感激。

共有1个答案

曾华翰
2023-03-14

MongoCursor类实现了迭代器接口。因此,foreaching游标与调用$cursor是一样的-

它执行一些内部运行,但不运行“hasNext()”和“getNext()”等。它运行在Iterator接口中抽象描述的标准方法。

抱歉我的任性,但是Foreach不是“简单的PHP函数”;它是一个语言结构。我刚刚在Stack Overflow上找到了一个很好的解释。

 类似资料:
  • 我的数据库中有大量文档,我想知道如何浏览所有文档并更新它们,每个文档都有不同的值。

  • 我使用的是mongoDB PHP,当我使用find查询或聚合框架时,结果是一个游标,我可以使用foreach循环或while循环对游标进行迭代。例如,我要执行以下查询 我可以使用以下两种方法迭代结果

  • 本文向大家介绍mongodb数据库游标的使用浅析,包括了mongodb数据库游标的使用浅析的使用技巧和注意事项,需要的朋友参考一下 mongodb中的游标使用示例如下:   假设执行如下操作: 使用find()返回一个游标: 使用游标的forEach()循环遍历:

  • 问题内容: 首先,我要说我知道它是什么,做什么以及如何使用它。这个问题关系到它在引擎盖下的工作方式,我不希望出现“这就是如何用” 循环数组”的答案。 很长时间以来,我一直认为该方法可用于数组本身。然后,我发现了很多关于它可以与数组 副本 一起使用的事实的引用,从那时起,我一直以为这是故事的结尾。但是我最近对此事进行了讨论,经过一番实验后发现这实际上并非100%正确。 让我表明我的意思。对于以下测试

  • 问题内容: 这与@Document批注中的MongoDB和SpEL表达式有关 这就是我创建mongo模板的方式 我有一个租户提供者类 还有我的域名课程 如您所见,我已经按照帖子中的指定创建了mongotemplate,但是仍然出现以下错误 线程“主”中的异常org.springframework.expression.spel.SpelEvaluationException:EL1057E :(位

  • 本文向大家介绍PHP使用foreach解析JSON数组,包括了PHP使用foreach解析JSON数组的使用技巧和注意事项,需要的朋友参考一下 以下代码可用于解析JSON数组- 示例 输出结果 这将产生以下输出-