首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Raven数据库计数查询

Raven数据库计数查询
EN

Stack Overflow用户
提问于 2011-04-17 02:31:56
回答 2查看 4.1K关注 0票数 5

我需要获取特定集合中的文档数量:

有一个现有的索引Raven/DocumentCollections,它存储与属于该集合的实际文档配对的集合的计数和名称。如果可能的话,我想从这个索引中提取计数。

下面是Raven/DocumentCollections索引的Map-Reduce:

代码语言:javascript
复制
from doc in docs
let Name = doc["@metadata"]["Raven-Entity-Name"]
where Name != null
select new { Name , Count = 1}

from result in results
group result by result.Name into g
select new { Name = g.Key, Count = g.Sum(x=>x.Count) }

另外,var Count = DocumentSession.Query<Post>().Count();总是返回0作为我的结果,即使我的数据库中有500多个文档,其中至少有50个文档的元数据中有"Raven-Entity-Name“作为"Posts”。我完全不知道为什么这个Count查询总是返回0作为答案--当Count完成时,Raven日志显示了这一点

代码语言:javascript
复制
Request # 106: GET     -     0 ms - TestStore  - 200 - /indexes/dynamic/Posts?query=&start=0&pageSize=1&aggregation=None
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-04-17 14:06:06

要从索引中获取结果,您可以使用:

代码语言:javascript
复制
session.Query<Collection>("Raven/DocumentCollections")
       .Where(x=>x.Name == "Posts")
       .FirstOrDefault();

这会给你你想要的结果。

票数 5
EN

Stack Overflow用户

发布于 2014-09-10 22:54:58

对于任何还在寻找答案的人(这个问题是在2011年发布的),现在最合适的方法是:

代码语言:javascript
复制
var numPosts = session.Query<Post>().Count();
票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5688642

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档