问题标签 [ravendb4]

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

ravendb - 如何“添加或更新”文档

所以我知道我可以打补丁,我知道我可以存储,我知道我可以放,但我很清楚如何做一个“upsert”类型的操作,如果没有,我想在其中添加对象' t 存在,或者如果存在则对其进行修补。

这在 RavenDb 4.1+ 中可行吗?

现在,我有点在这里,但感觉不对:

0 投票
1 回答
42 浏览

ravendb4 - 我们如何在 RavenDB 4 中以编程方式创建 RavenETL 任务?

这是我的场景,

我有 2 个数据库

Db1 有很多集合,但我想将“产品”集合复制到另一个数据库 DataStaging_Db1

在 RavenDB 3.5 中,我可以通过添加系统文档来实现

乌鸦/复制/目的地

以编程方式向 RavenDB 数据库 DB1 提供以下详细信息

在此处输入图像描述

谁能指出我如何在 RavenDB 4 中实现这一点?

非常感谢

0 投票
1 回答
36 浏览

indexing - RavenDB 4 - 根据 AbstractIndexCreationTask 检索索引名称类实现

至于标题,我试图在运行时检索特定索引的名称。

索引已经在应用程序启动时注册了

但是在查询时,我需要知道(对于项目的某些特殊性......)被查询的索引的实际名称。

我知道有一个GetIndexNamesOperation,但它只是返回一个字符串数组,我无法将它与实际的索引类相关联......

理想的情况是与typeof(IndexClass<T, R>)where一起操作的东西IndexClass<T, R> : AbstractIndexCreationTask<T, R>

我正在搜索文档,但没有找到任何线索。

有办法吗?

0 投票
1 回答
98 浏览

data-modeling - RavenDB 建模/索引:使用参考数据进行地址验证

我在 Windows x64 上使用稳定的 RavenDB 4.2.3,试图通过 id 从另一个索引加载人工文档。

我正在开发一个 ETL 系统,其中很大一部分工作是地址验证。我有有效地址的参考数据,包括国家、州、邮政编码、城市/社区、街道和门牌号码范围(如果适用)以及其他信息,如 LAT/LON、社区类型等。要验证的典型输入将由数万或数十万个地址记录(通常是邮政编码、社区、街道、门牌号)组成,其中大约 30% 与参考数据中的记录不匹配(当然,在标准化之后),因为拼写错误,换位等。

我假设我必须使用模糊查询逐个查询,然后使用预定义的 Levenshtein-Damerau 距离自动更正或过滤掉以进行手动更正(同时提供最佳匹配)。

但是其他 70% 左右在参考数据中有直接匹配的呢那些我不想查询的,因为网络延迟等等,即使精确查询比模糊查询更快。我需要一个索引。

由于我无法在索引定义中查询,我的想法是从该参考数据构建一个集合,使用(标准化)地址部分的散列值来查找(减去门牌号)并将所述散列用作实体 ID 的一部分(甚至直接使用地址部分),存储规范化和规范化地址;因此我可以在要验证的地址的索引中使用此参考集合上的 LoadDocument() 来测试 100% 可验证的地址(LoadDocument() 返回非空实体并且门牌号在返回的参考地址的范围内)并过滤掉那些我必须进行较慢查询的。

考虑到要求,这听起来是一个很好的解决方案,还是我在这里遗漏了一些东西并且有更好、更 RavenDB-ish 的方式?

我认为不可能的一件事是将所述参考集合构建为 map/reduce 索引的输出,因为我无法控制 Id 生成;Id 被定义为按字段分组的散列,但我无权访问索引定义中的此散列函数来验证地址,以便将其结果用作 LoadDocument() 的文档 Id 参数。

我发现了一个控制人工文档 ID 生成的功能的问题,但还没有完成: https ://issues.hibernatingrhinos.com/issue/RavenDB-12932

0 投票
1 回答
259 浏览

ravendb - 如何在 Ravendb 中更新数组中的值?我需要使用查询

我有几个文件。下面我只列出两个。如何更新所有文档中“名称字段:StartDate”下方的“值字段”的值?

示例:2019 年 10 月 10 日至 2019 年 9 月 9 日 2019 年 1 月 1 日至 2019 年 9 月 9 日

文件 1:

文件 2:

谢谢!!

0 投票
0 回答
53 浏览

c# - Session.SaveChanges() 在最新页面上不起作用

有一个报价应用程序,我们填充数据并从源系统发送到接收器系统。该接收器系统将发送该报价的状态(成功/失败)作为对源系统的确认。我们可以选择修改相同的报价。每当我们修改报价时,状态都会从先前的报价继承。我们需要清除最新版本的状态。这没有发生。但它会清除以前修订的状态。任何人都可以帮助我。

0 投票
0 回答
106 浏览

ravendb - RavenDb Let's encrypt 证书设置在 Azure 上失败

我已经使用 Docker 在 Ubuntu 系统(在 Azure 云上)安装了 RavenDb,并尝试使用 LetsEncrypt 向导生成证书。我的 ravendb 安装成功,这是端口设置

根据我尝试使用以下配置设置 ravendb 的配置,

节点标签 A HTTPS 端口 9002 TCP 端口 48888 IP 地址/主机名 0.0.0.0

外部 IP 地址 XXXX 外部 HTTPS 端口 9002 外部 TCP 端口 48888

;但它给了我以下错误 PS:为了调试这个问题,我刚刚打开了 azure VM 上的所有入站和出站端口 这似乎是下面代码中的主要罪魁祸首:

无法建立 SSL 连接,请参阅内部异常。---> System.IO.IOException: 由于意外的数据包格式,握手失败。

0 投票
0 回答
28 浏览

ravendb4 - RavenDB4 数据订阅的特定端口

我在针对 RavenDB 4.2.8 的 C#/.NET Core 2.1 应用程序中包含了数据订阅。只要允许我的代码中的 RDB 客户端在建立客户端到数据库的连接时随机选择要使用的端口,这就是非常可靠的。既然RDB客户端不能再随机选择一个端口,那么我的代码中有没有办法让RDB客户端指定使用哪个端口来监控订阅呢?

0 投票
1 回答
44 浏览

permissions - 如何允许客户端用户无法删除且只能修改的文档?

如何允许客户可以修改但不能删除的文档?

RavenDB 是否像在其他关系数据库中一样具有管理员和非管理员用户的文档权限概念?

我有一组只能从 RavenDB 仪表板创建的文档。我想防止这些少数文件被客户删除。

尽管客户端应该能够“修改”它们,但“修改”我的意思是仅附加。

0 投票
2 回答
154 浏览

c# - RavenDB:如何防止 $type 被保存到动态类型属性?

$type当我保存动态类型值时,有没有办法防止添加属性?

当我保存这个时:

我明白了

但是当我尝试获取这个保存的实体时,它会崩溃并出现以下异常。我知道它缺少项目引用,但我真的不想添加该引用(我不想从控制台应用程序引用 API)。我最好只是阻止$type财产。