我遇到与mongoose聚合的问题。我使用$ lookup从raps表中获取文档,但由于匹配userId的raps文档的大小很大,每次都会失败。
errmsg:'匹配的匹配文件的总大小{$ match:{$ and:[{owner._id:{$ eq:" ID" }},{}]}} 超过最大文件大小', 代码:4568
我尝试过allowDiskUse并且它没有尝试$ out并将其添加到临时表中,也没有工作。
我也试过在$ lookup之后使用$ unwind,如其中一个答案所述,但它似乎没有用。
我有以下代码段。
userAccountModel.aggregate([
{
$match:
{
_id: userId
}
},
{
$lookup: {
from: "raps",
localField: "_id",
foreignField: "owner._id",
as: "rapsDocs"
}
},
{
$project : {
"likes": { $sum: "$rapsDocs.likes" }
}
}
]).allowDiskUse(true).exec(function(err, result){
})