问题标签 [ravenhq]

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 回答
335 浏览

ravendb - RavenDB、RavenHQ 和 Appharbor - 第一个文档的文档大小错误

我有一个完全空的 RavenHQ 数据库,它链接到我的 Appharbor 应用程序。数据库当前使用的空间量是我的青铜帐户可用的 25mb 空间中的 1.1mb。数据库以前有记录,但我在管理工作室中使用“删除集合”删除了它们。

我第一次调用 session.Store(myobject),在调用 .SaveChanges() 之前,我收到以下错误。

现在,文档肯定没那么大,所以我不知道这个错误意味着什么,尤其是因为我没有通过调用 SaveChanges 关闭会话,所以我认为我什至没有访问数据库()。有任何想法吗?这是代码本身。

任何其他有关此代码样式的评论都将受到欢迎,因为我不确定处理“更新现有项目或在不存在时创建”方案的最佳方法。

0 投票
1 回答
1099 浏览

ravendb - 我应该如何从每日提要中更新多个 RavenDB 文档?

我正在使用 RavenDB 来保存数千个文档。数据来自每日 xml 提要,我将通过运行 C# 控制台应用程序对其进行更新。下面是处理提要以使数据库与任何更改保持同步的代码。我对此有很多问题,所以我想知道我是否选择了错误的策略。以下是一些需要注意的重要事项。

  1. 新项目可能已添加到提要中,现有项目可能已更改,因此每次运行时,我都想添加或更新文档,具体取决于它是否是新的。
  2. xml 提要不包含对我的 RavenDB ID 的任何引用,仅包含每个项目的内部密钥。因此,在检索要更新的现有文档时,我只能通过检查文档上的“SourceID”属性来做到这一点。
  3. 我使用“take”一次只能处理 500 个文档,部分原因是我的数据库限制为 1000 个文档,部分原因是没有 Take() 我似乎只能检索 128 个文档。
  4. 就目前而言,此代码因“在一个会话中不能进行超过 30 次更新”错误而失败,我认为是因为每次我尝试从 dbItems 检索现有记录时,它实际上都会再次访问数据库。
  5. 我可以通过在项目上调用 ToList() 来解决上面 (4) 的问题,但是如果我这样做,则在我调用 session.SaveChanges() 时现有项目不会得到更新(我想象这就像一个断开连接的记录集) .

谁能给我一些指示?

0 投票
1 回答
140 浏览

nservicebus - 单个 RavenDB 数据库中的 NServiceBus 3 持久性

我有一个 NServiceBus 安装(显然是单个服务器)。

是否可以将 NSB 持久性配置为使用单个 RavenDB 数据库(不是服务器)?
如果是这样,配置是什么?

我正在考虑的场景是是否可以使用 RavenHQ 以便从运行总线的机器上备份我的所有 NSB 数据。

0 投票
1 回答
159 浏览

appharbor - 在 AppHarbor 上安装 RavenDB 包

为了扩展 RavenDB 的功能,我想安装开箱即用的捆绑包。这在本地安装上很容易,但是当数据库由 AppHarbor 和 RavenHQ 托管时,如何做到这一点?

0 投票
1 回答
231 浏览

nservicebus - 在 NServiceBus 3.2.3 中设置 RavenDB ApiKey

我正在尝试DocumentStore.ApiKey在 NServiceBus 3.2.3 中设置 RavenDB。根据这个线程,这不能通过 NSB 3.2.3 中使用的 RavenDB 版本直接从连接字符串中读取。

NSB 中的DocumentStore实例注册为IDocumentStore,这意味着我不能使用这样的自定义操作,因为IDocumentStore它不会暴露ApiKey

允许RavenPersistence我提供IDocumentStore. 有什么办法可以设置ApiKey吗?

0 投票
1 回答
155 浏览

c# - RavenDB BulkInsert() 失败并出现 403 Forbidden

我最近迁移了我的环境,现在使用 BulkInsert 的进程不起作用。它导致来自数据库服务器的 403 Forbidden 响应。

以前的环境将数据库作为 Windows 服务运行在与我的应用程序相同的服务器上,并且访问设置不同。现在我在远程主机上使用 RavenHQ,使用 API 密钥。我确定权限已经改变,所以我想知道这是否就是 BulkInsert 导致 403 错误的原因。

我已经搜索过,但找不到任何明确说明各种 raven 操作所需权限的内容。我从这篇文章的理解是,至少有一些需要更高的权限。任何人都可以指出我的具体文件吗?或者以其他方式照亮主题?谢谢。

0 投票
1 回答
895 浏览

mapreduce - RavenDB Map/Reduce/Transform 在嵌套的可变长度数组上

我是 RavenDB 的新手,到目前为止我很喜欢它。我还有一个要为我的项目创建的索引。

问题

我有数以千计的调查回复(即“ Submissions”),每个提交都有一系列特定问题的答案(即“ Answers”),每个答案都有一系列选择的选项(即“ Values”)。

单曲Submission基本上是这样的:

更多问题:我必须能够按 SurveyId、LocationId、QuestionId、创建日期进行过滤。据我了解,这是在查询时完成的......我只需要确保这些属性存在于转换结果中(或者它是减少结果?或两者兼而有之?)。如果我是对的,那么这不是一个问题。

所需的结果

每个调查的每个问题都需要一个对象,该对象给出每个选项的总和。希望它是不言自明的:

我的尝试

我没有走得太远,我认为这篇文章正在引导我走上正确的道路,但它对我的价值观列表没有帮助。我已经搜索和搜索,但找不到任何方向来处理这样的嵌套数组。这是我到目前为止:

地图:

减少:

转换:

值得一提的是,它托管在 RavenHQ 上。

太久了,我一直在做这件事,但不能把它做好。非常感谢任何帮助我获得所需结果的帮助!

0 投票
1 回答
334 浏览

ravendb - 使用 RavenHQ 或在您自己的服务器上托管 Raven?

你能告诉我在我们自己的服务器上选择 RavenHQ 还是托管 raven 的优缺点吗?

事实

  • Internet Web 应用程序 (OLTP)
  • 每月将生成 30 000 份文件或记录
  • 大约。300 个用户(数据输入)同时(可能更少,但必要时需要扩展到 300000 个)
  • 4 管理员报告和问题
  • 必须维护日终备份
  • 必须复制到 SQL 或其他 RDBMS 以用于报告目的(如 Datawarehouse)
  • 将为审计跟踪启用版本控制包
  • 如果它不起作用,就损失金钱而言绝对至关重要
  • 工作时间从早上到下午

请告诉我最可靠和最快速的选择,我没有考虑这个选择的成本?

RavenHQ 或在我们自己的专用服务器中托管 raven?

0 投票
2 回答
120 浏览

ravendb - 在两个不同的应用程序中使用相同的 ravenhq db

好的,我知道这不是一种最佳方法,但我正在考虑将同一个 ravenhq db 与两个不同的应用程序一起使用。

为什么我想到它,是因为我有两个非常小的 Web 应用程序,它们将使用 ravendb 作为数据库。我有一个注册的付费 ravenHq 数据库。

我的两个应用程序不会共享任何文件。而且这两个应用程序的数据都不会增长得特别大。所以我的问题是。这是可能的,还是会有任何并发​​症?

//谢谢

0 投票
1 回答
263 浏览

ravendb - Raven DB 对数组项的子集进行过滤,并对最便宜的过滤结果项进行排序

假设我有一个父类,我过滤各种属性,其中一个属性是一个 items 数组。现在说,如果我的项目数组高于最小值且低于最大值,我只想返回父项目......这很好,我可以解决这个问题;如果我想然后对这些项目的过滤结果集进行排序怎么办

我制作了 ac# fiddle 示例来展示我试图实现的目标: https ://dotnetfiddle.net/mV4d28 (请注意,首先返回 foo2,即使 foo1 的数组中的项目少于 foo2 中的项目)

由于我需要使用索引来执行此操作,因此我需要索引能够根据我的查询中使用的过滤条件来计算顺序。

我知道 elasticsearch 有一个内部 hits 函数可以给这个剂量,而 mongo 有管道也可以给这个剂量,所以我确定 Raven 也必须有办法做到这一点?

我希望只使用索引和带有婴儿车的转换我可以实现这一点,所以我尝试了它:

我的索引和变换看起来像这样

我的查询如下,(这是使用现场乌鸦游乐场所以这应该只是你想使用它的开箱即用)

我发现我不能使用转换结果中的“ChildItemValuesFiltered”作为它的非索引。所以除非我可以通过转换的结果来订购?我无法让它工作,尽管它正确过滤了它的顺序。是否有另一种方法可以使用投影或交集或排名或减少尝试方法来实现我想要的?

我在想,如果我必须这样做,也许我可以使用https://ravendb.net/docs/article-page/3.5/csharp/indexes/querying/sorting#custom-sorting

并做这样的事情:

然后使用 index 和 transform 执行 where 过滤器和 order by 子句,传入我在 where 过滤器中使用的相同婴儿车。但是我不确定这是否可行?更重要的是,我不确定如何将排序 dll 放入插件中,即类应该在什么命名空间下,它需要导入什么命名空间,它需要使用什么程序集名称等根据https:// ravendb.net/docs/article-page/3.5/csharp/server/plugins/what-are-plugins我只需要将 dll 放入其中,raven 会这样做,但是我似乎找不到我需要的名称空间IndexEntriesToComparablesGenerator 的参考?

我正在使用 linqpad 5 来测试我的东西……所以为了使用自定义顺序,我必须引用该类

欢迎任何提示或建议或如何行会/示例