ravendb - Raven DB 计数查询

标签 ravendb

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

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

这是 Raven/DocumentCollections 索引的 Map-Reduce:

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 作为答案 - Raven 日志在 Count 完成时显示这一点

Request # 106: GET     -     0 ms - TestStore  - 200 - /indexes/dynamic/Posts?query=&start=0&pageSize=1&aggregation=None

最佳答案

对于仍在寻找答案的人(此问题于 2011 年发布),现在正确的方法是:

var numPosts = session.Query<Post>().Count();

关于ravendb - Raven DB 计数查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5688642/

相关文章:

f# - 如何在 F# 中使用复杂查询来查询 RavenDB

ravendb - 关于在 RavenDB 中轮询新文档的建议

ravendb - 如何使用 RavenDb 完成此查询?

.net - RavenDB 在单元测试期间连接到嵌入式文档存储

ravendb - 在 Raven DB 中生成测试数据

mapreduce - RavenDb MapReduce 数据子集

c# - 无法使用嵌入式 Db 访问 RavenDB Management Studio

c# - 在RavenDB中存储某些字段中具有空值的实体

c# - 使用相同端点/ Controller 的多个实体类型

c# - 如何对 IRepository 进行单元测试?