下列情况: 我有一个用户列表,一个人有一个带有评论列表的字段。
User1: {
...
Id : 'xxxx',
Comment : [{
...
Status : 1
}
,{
...
Status : 0
}]
}
我正在寻找一个Mongo c#Query,它选择DB Collection中所有用户的状态为1的所有评论。
因为英语不好而烦恼。
THX
答案 0 :(得分:2)
假设您有以下类,其中包含集合的序列化值:
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));
答案 1 :(得分:0)
X
我这样解决:
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
如果有人有更好的解决方案,请发布。
再次,
本杰明