mongodb - Mongodb c#ElemMatch 不适用于数组
问题描述
我正在尝试根据子集合的属性获取元素。
var filter = Builders<User>.Filter.ElemMatch(x => x.BusinessRequestStatuses, x => x.RequestId == requestId);
var res = await collection.Find(filter).ToListAsync();
“用户”的文档结构如下所示
BusinessRequestStatuses 是自定义类型的数组
public List<BusinessRequestStatus> BusinessRequestStatuses { get; set; }
和 BusinessRequestStatus 如下
public class BusinessRequestStatus
{
public string RequestId { get; set; }
public RequestStatus Status { get; set; }
}
我正在设置一个正确的 requestId,它确实存在于子集合中(第一个),但我没有得到任何结果(res)。
解决方案
推荐阅读
- java - UFT 自动化脚本不适用于特定的远程计算机登录
- mysql - MYSQL比较不同数据库中的客户数据
- javascript - Vue表单向导防止退步
- python - How to fix error running local Otsu threshold example?
- javascript - VS Code - 如何在搜索面板中隐藏文件路径
- ios - 每 n 天安排一次本地通知(时区安全)
- firebase - 颤振项目构建错误 - firebase_messaging-9.1.4 import com.google.firebase.iid.FirebaseInstanceId;
- python - Python 请求在换行符的标题中给出无效的返回字符或前导空格
- java - Spring Boot 应用程序无法在 Docker 中运行
- database - 在 Power Bi 中用一列制作两列