猿问

聚合$ lookup匹配管道中文档的总大小超过最大文档大小

聚合$ lookup匹配管道中文档的总大小超过最大文档大小

我有一个非常简单的$lookup聚合查询,如下所示:

{'$lookup':
 {'from': 'edge',
  'localField': 'gid',
  'foreignField': 'to',
  'as': 'from'}}

当我在匹配足够的文档时运行它时,我收到以下错误:

Command failed with error 4568: 'Total size of documents in edge
matching { $match: { $and: [ { from: { $eq: "geneDatabase:hugo" }}, {} ] } } exceeds maximum document size' on server

所有限制文件数量的尝试都失败了。allowDiskUse: true什么也没做。发送输入cursor无效。添加$limit到聚合中也会失败。

怎么会这样?

然后我再次看到错误。哪里是$match$and$eq从何而来?幕后的聚合管道是否会$lookup调用另一个聚合,一个是自己运行的聚合管道,我无法为游标提供限制或使用游标。

这里发生了什么?


牛魔王的故事
浏览 939回答 1
1回答
随时随地看视频慕课网APP

相关分类

MongoDB
我要回答