Ravendb Raven DB查询单独文档中的集合

Ravendb Raven DB查询单独文档中的集合,ravendb,Ravendb,我有一个类似于以下的场景: 假设我有三节课 public class User { public string Id {get;set;} } public class FollowableUser { public string Id{get;set;} public IEnumerable<string> FollowingUserIds {get;set;} } public class Event { public string Id{ge

我有一个类似于以下的场景:

假设我有三节课

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

public class FollowableUser
{
    public string Id{get;set;}
    public IEnumerable<string> FollowingUserIds {get;set;}
}

public class Event
{
    public string Id{get;set;}
    public IEnumerable<string> TaggedFollowableUsers {get;set;
}
公共类用户
{
公共字符串Id{get;set;}
}
公共类FollowableUser
{
公共字符串Id{get;set;}
公共IEnumerable用户标识{get;set;}
}
公开课活动
{
公共字符串Id{get;set;}
公共IEnumerable标记FollowableUsers{get;set;
}
我想做的是能够通过用户Id进行查询,并返回所有事件(或至少是事件Id)

编辑 我尝试过这个,但不确定在“减少”部分中要去哪里:

 AddMap<Event>(events => from evt in events
                                     from fUser in evt.TaggedFollowableUsers 
                                     select new 
                                                {
                                                    FUserId = fUser,
                                                    EventId = evt.Id,
                                                    UserId = (string)null
                                                });

        AddMap<FollowableUser>(fUsers => from fUser in fUsers
                                  from followingUser in child.FollowedingUserIds
                                  select new
                                             {
                                                 FUserId = fUser.Id,
                                                 EventId = (string) null,
                                                 UserId = followingUser
                                             });
        Reduce = results => from result in results
                            group result by result.FUserId
                            into g
                            select new
                                       {
                                           FUserId= g.Key,
                                           EventId = g.Select(x => x.EventId) // not sure what to do from here
                                       };
AddMap(事件=>来自事件中的evt
来自evt.taggedFollowTableUsers中的fUser
选择新的
{
FUserId=fUser,
EventId=evt.Id,
UserId=(字符串)null
});
AddMap(fUser=>来自fUser中的fUser
来自child.followingUserId中的followingUser
选择新的
{
FUserId=fUser.Id,
EventId=(字符串)null,
UserId=followuser
});
Reduce=results=>from result in results
按result.FUserId对结果进行分组
进入g
选择新的
{
FUserId=g.键,
EventId=g.Select(x=>x.EventId)//不确定从这里做什么
};
这是否可以通过单个可查询索引实现,还是需要进行多次调用

谢谢

马特