首页 > 解决方案 > 在 MongoDb 集合上执行正则表达式搜索

问题描述

我有一个包含 546.8m 文档的集合。我需要搜索一些与 Username 属性匹配的文档。

我创造了这张脸

 FilterDefinition<ProfileEntity> f = Builders<ProfileEntity>.Filter.Regex("Username", new BsonRegularExpression(profileName,"i"));

                var profilesList = await collection.Find(f).Limit(25).ToListAsync();

但这需要很长时间。

我该怎么做才能获得更好的表现?

创建索引会大幅度提高性能吗?

记录的限制是固定的 25。

使用客户端命令行或 MongoDB Compass 搜索速度非常快。

与 c# 一起使用时非常慢。

当然,它们之间必须有所不同。但我不敢相信这太过分了

有任何想法吗?

标签: c#mongodb

解决方案


推荐阅读