【发布时间】:2017-10-04 18:49:25
【问题描述】:
我已经更新了 mongo,现在在日志中出现以下错误: 不推荐使用不带光标选项的聚合命令
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 并且随机出现了警告,我有一个代码我运行了几次,有时如果它报告提到的警告而其他人没有。
为什么?
【问题讨论】:
-
您能否添加代码,包括带有和不带有光标选项的日志消息,以演示您在更新中提到的行为?
-
转至此post 以供光标使用。
标签: php mongodb function php-mongodb