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



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

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

我正在寻找一个Mongo c#查询,它可以选择DB集合中所有用户的状态为1的所有注释。

sry表示英语不好。

thx

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

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));

thx。

我是这样努力的:

var query1  =  Query.EQ("Comments.Status", 1)
IEnumerable<Comment> comments = Collection.Distinct<Comment>("Comments", query1).Where(x => x.Status == 1);
comments .toList() // <= list of Comments with Status 1

如果有人有更好的解决方案,请发布。

Thx,

Benjamin

相关内容

  • 没有找到相关文章

最新更新