You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MongoDB C# Driver多字段Eq查询实现方法咨询

MongoDB C# Driver 多字段Eq查询实现方法

你当前的代码存在语法错误,Eq方法的调用格式不对,组合多条件的方式也不正确。以下是正确的实现方式:

方式一:使用And方法组合条件

var filter = filterBuilder.And(
    filterBuilder.Eq(entity => entity.id, id),
    filterBuilder.Eq(entity => entity.Name, name)
);
return await dbCollection.Find(filter).FirstOrDefaultAsync();

方式二:使用&运算符组合条件

var filter = filterBuilder.Eq(entity => entity.id, id) & filterBuilder.Eq(entity => entity.Name, name);
return await dbCollection.Find(filter).FirstOrDefaultAsync();

方式三:链式调用Eq(适用于较新版本驱动)

部分新版本的MongoDB C# Driver支持链式写法,也可以这样实现:

var filter = filterBuilder.Eq(entity => entity.id, id)
                         .Eq(entity => entity.Name, name);
return await dbCollection.Find(filter).FirstOrDefaultAsync();

核心注意点:

  • Eq方法的正确格式是Eq(属性表达式, 匹配值),不能写成entity => entity.id == id这种表达式,这是语法错误。
  • 多条件组合时,每个条件都需要单独调用Eq生成对应的过滤条件,再通过And方法或&运算符组合起来。

内容的提问来源于stack exchange,提问作者Mukesh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.23 07:42:01