Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php MongoDB展开命令_Php_Mongodb - Fatal编程技术网

Php MongoDB展开命令

Php MongoDB展开命令,php,mongodb,Php,Mongodb,我正在尝试展开文档中的数组 { //document ... parameters : [{...}, {...}, ...] } 下面是一个工作命令: db.getCollection('inventory').aggregate([ { $unwind : "$parameters" } ]); 我正在尝试使用db.runCommand执行相同的任务: db.runCommand({ aggregate: "inventory", pipeline

我正在尝试展开文档中的数组

{ //document
    ...
    parameters : [{...}, {...}, ...]
}
下面是一个工作命令:

db.getCollection('inventory').aggregate([
    { $unwind : "$parameters" }
]);
我正在尝试使用
db.runCommand
执行相同的任务:

db.runCommand({
    aggregate: "inventory",
    pipeline: [{ $unwind: "$parameters" }]
});
但在第二个选项中,我得到了一个错误:

聚合结果超过最大文档大小(16MB)

这些命令不一样吗?为什么第二个不起作用?


我正在使用适用于PHP7的Mongo PHP驱动程序,这就是我以这种方式聚合的原因。

db.runCommand
在一个文档中返回结果。因此,所有聚合结果都大于16MB。在
光标处设置
batchSize
选项可能会解决此问题


使用,我可以通过以下方式执行查询:
db.collection.aggregate(…
只传递原始mongo语法。

db.runCommand
返回一个文档中的结果。因此,所有聚合结果都大于16MB。在
光标处设置
batchSize
选项可能会解决此问题

使用,我可以这样执行查询:
db.collection.aggregate(…
只传递原始mongo语法。

设置为true可能会解决问题。不过,为什么只有runCommand才会出现这种情况是个好问题。设置为true可能会解决问题。不过,为什么只有runCommand才会出现这种情况是个好问题。