c# - Mongodb c# 驱动程序查询(选择子字段)

标签 c# linq mongodb mongodb-.net-driver

以下情况: 我有一个用户列表,每个用户都有一个带有评论列表的字段。

User1: {
      ...
      Id : 'xxxx',
      Comment : [{
                   ...
                   Status : 1
                }
                ,{
                   ...
                   Status : 0
                }]
}

我正在寻找一个 Mongo c# 查询,该查询选择数据库集合中所有用户的状态为 1 的所有评论。

抱歉英语不好。

谢谢

最佳答案

假设您有以下类,其中包含集合的序列化值:

public class User1
{
    public string Id { get; set; }

    public Comment[] Comments { get; set; }
}

public class Comment
{
   public int Status { get; set; }
}

那么查询应该类似于:

var query =
    collection.AsQueryable<User1>().SelectMany(user => user.Comments.Where(com=>com.Status == 1));

关于c# - Mongodb c# 驱动程序查询(选择子字段),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22991657/

相关文章:

c# - 生成的 C# 代码是否有任何 #pragma 或类似指令将模板代码行号与 C# 行号匹配?

c# - ReportViewer 和辅助功能

c# - 调用 GetSubkeyNames() 后无法访问注册表?

linq - 如何将 Expression<Func<T, bool>> 转换为 Expression<Func<Type, bool>>?

arrays - Node.JS + MongoDB 聚合 从 MongoDB 中的数据库中查找数组中的数组

MongoDB 聚合对动态键进行分组

Ruby Mongo 映射器包含 "abc"?

c# - 如何让这个系统设计和逻辑更有效率? (内部消息系统)

c# - 从列表中删除项目的最佳方法

c# - 将一些 LINQ 查询传递给函数的参数?