我已经更新了mongo,现在在日志中出现以下错误:
不建议使用不带游标选项的aggregate命令

Mongo说我应该把第二个required参数聚合到聚合函数,因为我的当前用法已被弃用.

我目前使用以下代码PHP(现已弃用):

$this->db->{$collection}->aggregate($options);

并返回以下格式:

{"result":[
    {
    "_id":"xxxxxx","update":[
    {
    "firstUpdateTime":xxxxxx,"updateTime":xxxxxxx,}
    ],"media":[
    {
    "xxxx":{ ...

为了不使用已弃用的代码,我添加了新的第二个参数(但我不明白要放什么):

$this->db->{$collection}->aggregate($options,array('cursor' => array('batchSize' => 101)));

这会返回相同的信息,但会改变初始结构:

{"cursor":{
"id":{
"value":"xxxxxx"
},"ns":"xxxxxx.instagram","firstBatch":[
{
"_id":"xxxxxx","update":[
{
"firstUpdateTime":xxxxxx,"updateTime":xxxxxx,}
],"media":[
{
"xxxxxx":{ ...

更新后,Mongo强迫我改变我读取数据的方式.
我不明白我应该把第二个参数叫做“游标”…

我应该在第二个参数中加入什么?
我可以在不改变结果结构的情况下设置默认值吗?

文档:
https://docs.mongodb.com/manual/reference/method/db.collection.aggregate/
http://php.net/manual/es/mongocollection.aggregate.php

更新:

如果我在函数中指示光标我不再收到错误.
但是,如果没有应用解决方案,我会阅读LOG并随机出现警告,我有一个代码,我运行了几次,有时如果它报告上述警告而其他人没有.

为什么?

当您向MongoDB查询某些内容并希望得到结果时,您将拥有一个名为cursor的变量,它只是指向您当前读取的文档的指针.它就像浏览器中的滚动条.

您可以像使用值1一样指定应将多少个文档读入缓冲区batchSize.

当您知道希望阅读的文档数量时,它非常有用.当您只需要10个文档时,可以使用batchSize =>获取单个网络数据包中的所有文档. 10.指定batchSize =>时5,它需要更长的时间,因为它需要两个网络数据包到数据库来获得预期的10个文件.

使用默认的batchSize是安全的.

您可以尝试使用foreach迭代游标,就像docs:http://php.net/manual/en/class.mongocommandcursor.php中的示例一样

我不确定PHP.net文档是否与最新版本的MongoDB驱动程序是最新的.

PHP MongoDB – 不推荐使用不带游标选项的aggregate命令.什么?的更多相关文章

  1. ios – UITextField secureEntry错位了游标

    我在UITextField上切换secureEntry属性时遇到问题.切换属性时,将调整字符大小,但光标位于错误的位置:解决方法这是我的解决方法:禁用然后启用UITextField也有帮助,但它会突然将我的软键盘从一个更改为另一个

  2. Swift 如何访问 MongoDB

    Perfect开源项目参与Perfect开发Slack在线协同MongoDBMongoDB库函数是在mongo-c语言库的基础上封装而成,能够为Swift轻松访问MongoDB服务器提供便利。请确保安装并激活了最新版本的Swift3.0toolchain。注意每次向项目追加依存关系时,必须要打开Swift软件包管理器重新创建一个新的Xcode项目文件。在您的项目中声明MongoDB请在您的Perfect项目源程序开头声明并导入MongoDB函数库:创建一个MongoDB数据库连接创建到MongoDB服务器

  3. android – 如何更改EditText游标高度?

    我想改变EditText游标高度,有谁知道怎么做?

  4. android,游标返回布尔值?

    AndroidCursor可以返回一个布尔值吗?我查看了文档,但没有相关信息?解决方法sqlite3的android实现不能正确支持布尔值.您将需要使用设置为0或1的整数并编写一些代码以将其转换为布尔值,例如

  5. Android:我需要关闭Cursor对象吗?

    在我的数据库适配器类中,我有很多这样的方法:我很欣赏这种方法的简洁性.但我不是在调用Cursor.close(),我不确定这是不是问题.是否会关闭Cursor并在Cursor.finalize()中释放其资源?否则我将不得不这样做:解决方法是的,建议在使用该游标对象时关闭游标,以便游标可以在关闭时执行任何保持工作的内容.

  6. android – EditText游标位于提示后

    我的应用程序中有一个简单的登录活动,包含电子邮件和密码字段.电子邮件EditText中的提示和光标位置存在一个奇怪的问题:从图像中可以看出,默认情况下,光标不在第一个位置.它在提示后显示就布局而言,密码EditText与电子邮件密码相同,但它没有此问题:任何人都知道为什么会这样?这是活动的布局:如果需要任何其他代码部分,请告诉我添加它.解决方法试试我的代码:这个对我有用.

  7. android – 除了过早调用cursor.close()之外,什么可能导致StaleDataException?

    )简而言之,我在使用中找不到任何光标关闭的原因.那么,StaleDataException的其他原因是什么?

  8. TP5(thinkPHP5)框架mongodb扩展安装及特殊操作示例

    这篇文章主要介绍了TP5(thinkPHP5)框架mongodb扩展安装及特殊操作,结合实例形式分析了MongoDB扩展的基本安装、配置、模型操作以及使用Push操作实现的数据添加、更新等方法,需要的朋友可以参考下

  9. Node.js和MongoDB实现简单日志分析系统

    这篇文章主要介绍了Node.js和MongoDB实现简单日志分析系统,本文给出了服务器端、客户端、图表生成、Shell自动执行等功能的实现代码,需要的朋友可以参考下

  10. Laravel框架中集成MongoDB和使用详解

    今天小编就为大家分享一篇Laravel框架中集成MongoDB和使用详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

随机推荐

  1. PHP个人网站架设连环讲(一)

    先下一个OmnihttpdProffesinalV2.06,装上就有PHP4beta3可以用了。PHP4给我们带来一个简单的方法,就是使用SESSION(会话)级变量。但是如果不是PHP4又该怎么办?我们可以假设某人在15分钟以内对你的网页的请求都不属于一个新的人次,这样你可以做个计数的过程存在INC里,在每一个页面引用,访客第一次进入时将访问时间送到cookie里。以后每个页面被访问时都检查cookie上次访问时间值。

  2. PHP函数学习之PHP函数点评

    PHP函数使用说明,应用举例,精简点评,希望对您学习php有所帮助

  3. ecshop2.7.3 在php5.4下的各种错误问题处理

    将方法内的函数,分拆为2个部分。这个和gd库没有一点关系,是ecshop程序的问题。会出现这种问题,不外乎就是当前会员的session或者程序对cookie的处理存在漏洞。进过本地测试,includes\modules\integrates\ecshop.php这个整合自身会员的类中没有重写integrate.php中的check_cookie()方法导致,验证cookie时返回的username为空,丢失了登录状态,在ecshop.php中重写了此方法就可以了。把他加到ecshop.php的最后面去就可

  4. NT IIS下用ODBC连接数据库

    $connection=intodbc_connect建立数据库连接,$query_string="查询记录的条件"如:$query_string="select*fromtable"用$cur=intodbc_exec检索数据库,将记录集放入$cur变量中。再用while{$var1=odbc_result;$var2=odbc_result;...}读取odbc_exec()返回的数据集$cur。最后是odbc_close关闭数据库的连接。odbc_result()函数是取当前记录的指定字段值。

  5. PHP使用JpGraph绘制折线图操作示例【附源码下载】

    这篇文章主要介绍了PHP使用JpGraph绘制折线图操作,结合实例形式分析了php使用JpGraph的相关操作技巧与注意事项,并附带源码供读者下载参考,需要的朋友可以参考下

  6. zen_cart实现支付前生成订单的方法

    这篇文章主要介绍了zen_cart实现支付前生成订单的方法,结合实例形式详细分析了zen_cart支付前生成订单的具体步骤与相关实现技巧,需要的朋友可以参考下

  7. Thinkphp5框架实现获取数据库数据到视图的方法

    这篇文章主要介绍了Thinkphp5框架实现获取数据库数据到视图的方法,涉及thinkPHP5数据库配置、读取、模型操作及视图调用相关操作技巧,需要的朋友可以参考下

  8. PHP+jquery+CSS制作头像登录窗(仿QQ登陆)

    本篇文章介绍了PHP结合jQ和CSS制作头像登录窗(仿QQ登陆),实现了类似QQ的登陆界面,很有参考价值,有需要的朋友可以了解一下。

  9. 基于win2003虚拟机中apache服务器的访问

    下面小编就为大家带来一篇基于win2003虚拟机中apache服务器的访问。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

  10. Yii2中组件的注册与创建方法

    这篇文章主要介绍了Yii2之组件的注册与创建的实现方法,非常不错,具有参考借鉴价值,需要的朋友可以参考下

返回
顶部