Arrays et从MongoDB返回整个子文档数组

Arrays et从MongoDB返回整个子文档数组,arrays,subdocument,Arrays,Subdocument,我需要从Courses类中获取所有子文档数组,其中User.UserId=where,Courses.Status=active Public Class User Public Property UserId As String 'this is unique so i would like to index this, unless you think otherwise Public Property CourseData() As List(Of Courses) '

我需要从Courses类中获取所有子文档数组,其中User.UserId=where,Courses.Status=active

Public Class User
    Public Property UserId As String 'this is unique so i would like to index this, unless you think otherwise
    Public Property CourseData() As List(Of Courses) ' 
    Public Property Groups As List(Of String)   
    Public Property BU As List(Of String)     
End Class

Public Class Courses
    Public Property id As String 'this can be dynamic
    Public Property description As String
    Public Property CompletionDate As String
    Public Property Hours As String
    Public Property Status As String
End Class
使用vb.net,我尝试了几种方法,我只想将返回的Status=“Active”课程转储到Ienumberable中

我尝试过(\u users是用户的集合)(\u uid是传递给它的变量)

它们似乎都不起作用,它们通常返回来自类用户或类用户和类课程的字段,但课程字段为空

我甚至在试linq。。这是可行的,但只返回一行结果

Dim uc =  From _u In _users.AsQueryable(Of User)()
    Where _u.userid = _userid _
    Select _
CourseID = _u.Courses.Where(Function(c) c.State = "Submitted").Select(Function(c) c.CourseId)(0), _
CourseDescription = _u.Courses.Where(Function(c) c.State = "Submitted").Select(Function(c) c.CourseDescription)(0)

似乎做起来很容易,就是做不到。明白了,我想我想我想得太多了

一旦我声明了类的一个实例,我就可以遍历子文档了

Dim _u as new User
For Each c In _user.Courses.Where(Function(cs) cs.Status= "Active").Select(Function(cs) cs) 
console.writeline(c.id & c.description & "so on...")
Next
Dim _u as new User
For Each c In _user.Courses.Where(Function(cs) cs.Status= "Active").Select(Function(cs) cs) 
console.writeline(c.id & c.description & "so on...")
Next