相关疑难解决方法(0)

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

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

{'$lookup':
 {'from': 'edge',
  'localField': 'gid',
  'foreignField': 'to',
  'as': 'from'}}
Run Code Online (Sandbox Code Playgroud)

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

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

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

怎么会这样?

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

这里发生了什么?

mongodb aggregation-framework

14
推荐指数
2
解决办法
8410
查看次数

如何用MongoDB C#驱动程序查找?

如何使用MongoDB C#驱动程序执行$ ​​lookup?我在这里的驱动程序文档中找不到它:

https://docs.mongodb.org/getting-started/csharp/query/

但是如果我在他们的JIRA中正确理解这张票,它应该在驱动程序的2.2版本中:

https://jira.mongodb.org/browse/CSHARP-1374

c# mongodb mongodb-.net-driver

4
推荐指数
2
解决办法
1万
查看次数