如何使用.NET MongoDB驱动编写OR条件的MongoDB集合过滤
.NET Core 5中MongoDB实现多字段OR正则过滤方案
你可以通过Builders<TerminalDocument>.Filter.Or()方法来组合多个正则过滤条件,完美对应MongoDB原生查询中的$or逻辑,具体实现代码如下:
// 分别构建两个字段的正则过滤条件 var codeRegexFilter = Builders<TerminalDocument>.Filter.Regex(e => e.Code, new BsonRegularExpression(keyword, "i")); var nameContentRegexFilter = Builders<TerminalDocument>.Filter.Regex(e => e.Name.Content, new BsonRegularExpression(keyword, "i")); // 用Or方法组合两个条件 var combinedOrFilter = Builders<TerminalDocument>.Filter.Or(codeRegexFilter, nameContentRegexFilter); // 执行组合条件后的查询 terminalsCollection = await _terminalsCollection .Find(combinedOrFilter) .Project<TerminalDocument>(terminalFeilds) .Limit(15) .ToListAsync();
如果后续需要扩展更多字段的OR过滤,直接在Or方法中追加对应的过滤条件即可(比如Or(filter1, filter2, filter3))。
内容的提问来源于stack exchange,提问作者Chathurangika
相关产品推荐
相关产品推荐

