我已经更新了 mongo,现在在日志中出现以下错误: Use of the aggregate command without the cursor option is deprecated
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 并且随机出现了警告,我有一个运行多次的代码,有时如果它报告提到的警告而其他人则没有。
为什么?