如标题所示,我发现MongoDb C#驱动程序在数据表现方面非常慢。
我有一个包含1000个文档的集合。它们不会增长,我需要从这个收藏物中阅读很多东西。
一个简单的查询为
db.GetCollection<BsonDocument>("collection_name")
.Aggregate()
.Match(Builders<BsonDocument>.Filter.Gte("age", 30))
可以找到大约200个文档,并且使用MongoDbCompass的解释计划,它很快。
问题是,当我需要显示这200个文档(使用.ToList()或.ToListAsync())时,它需要大约 10秒。
对于800个文档,它需要 30秒!
好的,也许我不需要所有这些内容,因为我将向用户显示的是一个分页的网页=>
因此我添加了Skip(n)和Limit(n + 20),但由于此限制,它需要 1.5秒才能显示。很多!
每个文档重1kb,它们都具有20个属性,其中一个属性是一组子文档。目前,我以BsonDocumet的形式获取数据,因为我尚未确定文档结构。
所以我要问...这结束了吗?有什么我可以做的吗?
非常感谢! T_T
修改
我正在使用最新的C#MongoDb驱动程序(2.11.1)
Edit2
我已经找到了需要搜索的属性的索引。
同样,此结果来自localhost:27017,所以全部在本地。