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才会出现这种情况是个好问题。