MongoDB IQueryable中IN运算符无法使用的问题求助
解决MongoDB IQueryable使用IN逻辑的报错问题
你遇到的问题是MongoDB的LINQ Provider不支持直接用类似SQL里的IN语法,得换用集合的Contains方法来实现相同的IN匹配逻辑,具体改法如下:
- 先定义你要匹配的ID集合:
var targetIds = new List<string> { "1" }; // 可按需添加多个ID,比如{"1","2","3"}
- 替换原有的Where条件:
filteredList = filteredList.Where(item => targetIds.Contains(item.ID));
这个写法会被MongoDB的LINQ Provider正确转换成数据库层面的$in查询操作符,既能替代原来的==单值匹配逻辑,也不会再报"IN does not support"的错误。
内容的提问来源于stack exchange,提问作者Rajesh Bargode
相关产品推荐
相关产品推荐

