C# RavenDB映射/还原为列表的属性
只是学习Map/Reduce,我错过了一步。我读过这篇文章(),但还不能完全达到我所需要的 我有一个目标:C# RavenDB映射/还原为列表的属性,c#,mapreduce,ravendb,C#,Mapreduce,Ravendb,只是学习Map/Reduce,我错过了一步。我读过这篇文章(),但还不能完全达到我所需要的 我有一个目标: public class User : IIdentifiable { public User(string username) { Id = String.Format(@"users/{0}", username); Favorites = new List<string>(); } public IList
public class User : IIdentifiable
{
public User(string username)
{
Id = String.Format(@"users/{0}", username);
Favorites = new List<string>();
}
public IList<string> Favorites { get; protected set; }
public string Id { get; set; }
}
例如,如果用户1有收藏夹1、2、3,而用户2有收藏夹1、2,那么这应该返回{{OilId=3,Count=1},{OilId=2,Count=2},{OilId=1,Count=2}
当前代码生成异常:System.NotSupportedException:节点不支持:调用
我觉得我很接近。有什么帮助吗?MBonig,
Map/Reduce仅对跨文档进行聚合有用。对于这种情况,您可以通过以下方式获得更好的服务:
session.Query<User>().Select(u=>u.Favorites).ToList()
session.Query().Select(u=>u.Favorites.ToList())
我编写了一个复制您的代码的小应用程序,但没有看到引发异常。请在此处查看我的代码:。输出是
最爱:1,计数:2
最爱:2,计数:2
最爱:3,计数:1
这正是我所期望的。我以为这就是我想要做的。我想我在OP中不清楚。我想汇总并找出所有用户收藏夹列表中的哪些值是被选中最多的。如果查询“Count>0”的Map/Reduce索引,您会得到什么结果返回什么值?为Map/Reduce提供的代码在运行时产生错误:System.NotSupportedException:Node not supported:CallYes,仔细查看后,我们得到了相同的代码。我遇到的问题是,我在RavenDB IQueryable对象中添加了一个Select。我先打电话给托利斯特,然后打电话给“选择和所有作品”。谢谢
session.Query<User>().Select(u=>u.Favorites).ToList()