这是MongoDB中一个非常常见的问题,但我找不到任何有用的东西。我正在尝试聚合两个包含公共密钥的集合,但是我得到了一个"超出最大文档大小"错误。
膳食收集是特定个人消费的每餐,而HasConsumed是这个人在用餐期间吃过的每一种食物。
膳食包含171318项,而HasConsumed包含541526项。
以下是查询:
db.getCollection('Meal').aggregate(
{
$lookup:
{
from: "HasConsumed",
localField: "nomen_nojour_tyrep",
foreignField: "nomen_nojour_tyrep",
as: "conso"
}},
{ $out : "hasConsumed" }
)
答案 0 :(得分:1)
在管道中使用allowDiskUse选项:
db.getCollection('Meal').aggregate([
{
$lookup:
{
from: "HasConsumed",
localField: "nomen_nojour_tyrep",
foreignField: "nomen_nojour_tyrep",
as: "conso"
}},
{ $out : "hasConsumed" }
],{ allowDiskUse: true} )