【发布时间】:2017-02-26 16:55:41
【问题描述】:
我正在尝试展开文档中的数组。
{ //document
...
parameters : [{...}, {...}, ...]
}
这是一个有效的命令:
db.getCollection('inventory').aggregate([
{ $unwind : "$parameters" }
]);
我正在尝试使用db.runCommand 来完成相同的任务:
db.runCommand({
aggregate: "inventory",
pipeline: [{ $unwind: "$parameters" }]
});
但是使用第二个选项,我得到了这个错误:
聚合结果超过最大文档大小 (16MB)
这些命令不一样吗?为什么第二个不起作用?
我正在使用适用于 PHP 7 的 Mongo PHP 驱动程序,这就是我以这种方式进行聚合的原因。
【问题讨论】:
-
将 allowDiskUse 设置为 true 可能会解决问题。不过,为什么只有 runCommand 才会出现这种情况是一个很好的问题。