问题标签 [ravendb]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1191 浏览

lucene - 使用 Where() 查询 Raven 只过滤前 128 个文档?

我们正在使用 Raven 验证登录,以便人们可以进入我们的网站。

我们发现,如果你这样做:

该查询仅过滤 Raven 中文档的前 128 个文档。我们的数据库中有几千个,所以除非您的电子邮件恰好在返回的前 128 个中,否则您就不走运了。

我在网上遇到的 Raven 示例代码或任何示例代码都没有使用 Skip() 和 Take() 执行任何循环来遍历集合。

  1. 这是 Raven 想要的行为吗?
  2. 即使您使用高级 Lucene 查询,行为是否相同?IE; 高级查询的行为有什么不同吗?
  3. 下面的解决方案合适吗?看起来有点丑。:P

我的解决方案是遍历所有文档的集合,直到遇到非空结果,然后我 break 并 return 。

}

编辑:

使用下面的修复不会将查询参数传递给我的 RavenDB 实例。还不知道为什么。

最后,我使用了 Advanced Lucene Syntax 而不是 linq 查询,并且一切都按预期工作。

0 投票
4 回答
18459 浏览

mongodb - 选择 MongoDb/CouchDb/RavenDb - 性能和可扩展性建议

我们正在为一些读/写密集型应用程序寻找具有故障转移集群的文档数据库存储解决方案。

我们将平均每秒有 40,000 个并发写入写入数据库(期间峰值可能高达 70,000) - 并且可能发生几乎相似数量的读取。

我们还需要一种机制让数据库通知新写入的记录(数据库级别的某种触发器)。

就正确选择文档数据库和相关容量规划而言,什么是好的选择?

更新

关于预期的更多细节。

  • 平均而言,我们预计每秒在 3-4 个数据库/文档集合中插入 40,000 (40K) 次(新文档)。
  • 峰值可能高达 120,000 (120K) 个插入
  • 插入应该立即可读 - 几乎是实时的
  • 除此之外,我们预计每秒大约有 5000 次更新或删除
  • 除此之外,我们还预计有 500-600 个并发查询访问数据。这些查询和执行计划在一定程度上是众所周知的,尽管这可能需要更新,比如一周左右一次。
  • 系统应支持存储端的故障转移集群
0 投票
2 回答
931 浏览

wcf - ravendb,城堡 IoC,Wcf 设施 - 文档会话 liefstyle

在 IIS 中托管的 windsor ioc、wcf 设施设置下,raven doc session 和 store 的推荐生活方式是什么?

我一直看到这个错误:

这是我的设置:

0 投票
3 回答
356 浏览

sql-server - 使用 Raven DB 替换 SQL Server 中的索引怎么样?

我正在处理一个在 MS SQL 服务器上包含大表(1000 万条记录)的项目,我们需要使用非常复杂的过滤器(跨越 10 列)查询该表,并根据用户选择对不同字段的结果进行排序用户界面。

查询运行起来有点慢,因为我们需要在存储过程中使用临时表来完成我们需要的所有过滤和排序。

我想我可以使用一个过程来加载我们在 Raven DB 中查询的过滤器部分中使用的表部分,实际上用我可以查询的 Raven DB 层替换 SQL 中存储的过程和索引。

你认为我应该花更多时间来调查为什么存储过程很慢并进行一些优化,还是你认为 Raven DB 方法可以给我带来更多好处?

0 投票
2 回答
481 浏览

ravendb - 文档数据库 - 多对多

Users假设我们模仿和之间的多对多关系的行为UserGroups,并且我们将用户所在的用户组的 ID 存储在数组中的用户文档中。现在,当我删除一个用户组时,该用户组的 ID 仍将位于用户文档的数组中 - 它是否会影响任何时候的性能,它在数组中保存了一些旧的和无用的值?

0 投票
4 回答
5108 浏览

c# - 使用 RavenDB 实现存储库和服务模式

我在 RavenDB 项目中实现存储库和服务模式时遇到了一些困难。主要关心的是我的存储库界面应该是什么样子,因为在 RavenDB 中,我为查询使用了几个索引。

假设我需要获取 parentid 等于 1 的所有项目。一种方法是使用 IQueryable List() 并获取所有文档,然后添加 where 子句来选择 parentid 等于 1 的项目。这似乎是个坏主意因为我不能在 RavenDB 中使用任何索引功能。所以另一种方法是在存储库中有这样的东西,IEnumerable Find(string index, Func predicate) 但这似乎也是一个坏主意,因为它不够通用,并且如果我要从 RavenDB 更改,我需要实现此方法到一个普通的sql server。

那么如何实现通用存储库但仍能获得 RavenDB 中索引的好处呢?

0 投票
1 回答
3776 浏览

c# - Ravendb mapreduce 按多个字段分组

我们有一个包含流媒体视频的网站,我们希望显示上周、月和年(滚动窗口)中观看次数最多的视频的三份报告。

每次观看视频时,我们都会在 ravendb 中存储一个文档:

我们在弄清楚如何定义最能支持生成这三个报告的索引/mapreduce 时遇到了麻烦。

我们尝试了以下 map/reduce。

但是,此查询会引发错误:

错误:“DateViewed 未编入索引”

最终,我们要查询如下内容:

这实际上并没有编译,因为 OrderBy 是错误的;Count 在这里不是一个有效的属性。

这里的任何帮助将不胜感激。

0 投票
2 回答
6003 浏览

c# - RavenDB 会话 > 30

如果我正在尝试保存计数 > 30 我要保存的项目列表,我会收到一条错误消息

已达到此会话允许的最大请求数 (30)。作为预警系统,Raven 限制了允许会话进行的远程调用的数量。会话预计是短暂的,Raven 提供了 Load(string[] keys) 等工具来一次加载多个文档并批量保存。

我能做些什么来解决这个问题?此错误的问题是我没有加载,我正在尝试保存文档。任何想法,将不胜感激。谢谢

0 投票
5 回答
6056 浏览

c# - 是否可以使用 C# 与 OrientDB 一起工作?

是否有OrientDB和 C# 的任何实现、api 或示例。我看 OrientDB 的原因是因为它是我发现的唯一一个是 Graph 和 Document 的组合。

关于我应该如何尝试的任何建议。

我的下一个选择是 RavenDB,但我不确定它是否支持连接或链接文档?

有什么想法吗...

0 投票
2 回答
3112 浏览

c# - 嵌入式 RavenDB 出现“找不到事务存储类型”错误

我能够根据以下代码成功运行 RavenDB 的简单测试:http ://ravendb.net/tutorials/hello-world

接下来我尝试以嵌入式方式运行它,但我不断收到以下错误:


设置:

目标框架是.NET Framework 4

我在我的项目中添加了以下引用:

  1. \RavenDB-Build-309\EmbeddedClient\Raven.Client.Embedded.dll
  2. \RavenDB-Build-309\Client\Raven.Client.Lightweight.dll
  3. \RavenDB-Build-309\EmbeddedClient\Raven.Storage.Esent.dll
  4. \RavenDB-Build-309\EmbeddedClient\Raven.Storage.Managed.dll

代码是:

我已经尝试搜索了几天,也尝试了一些不同的变体。我不确定发生了什么。