问题标签 [ravendb-http]

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

c# - 如何将数据发布到 restful ravendb 中的特定数据库

考虑这段代码:

在没有 MdbLogger 的情况下发送请求时一切正常。但是当使用 MdbLogger 发送请求时,我得到 400 http 响应。

无法弄清楚该怎么做 您的请求与任何内容都不匹配

Raven 知道该怎么做,对不起...

如何将数据发布到 restful ravendb 中的特定数据库

0 投票
0 回答
393 浏览

ravendb - RavenDB 导入/导出在服务器上失败,但在嵌入式上工作

我正在考虑为 RavenDB 编写一个导入/导出例程,以便我可以在本地的完整服务器实例上进行开发,但由于资源限制可以嵌入在网站上运行。我希望能够在网站的锁定部分管理功能,以允许从文件进行备份和恢复。但我也希望能够将生产数据集恢复到本地服务器实例中,以用于调试和开发目的。

作为其中的一部分,我一直在研究使用 v2.5.2750 的 ISmugglerApi 接口,特别是 Raven.Database.Smuggler.DataDumper 和 Raven.Smuggler.SmugglerApi 实现。

我可以使用嵌入式实例进行备份和恢复。我可以很好地备份服务器实例并将此文件导入嵌入式实例。但是,还原到服务器数据库是出现问题的地方。

我正在使用的代码如下:

恢复代码:

备份代码:

ServerMapPath 当前是 App_Data 文件夹中文件名称的 const 字符串。

Configuration.* 是一个简单的静态类,用于从 web.config 中读取所需设置的值。

上下文是一个配置选项,用于指定运行环境的类型。

当我在服务器数据库配置中运行恢复时,我得到以下信息:

远程服务器返回错误:(400) 错误请求。

[WebException:远程服务器返回错误:(400) 错误请求。] System.Net.HttpWebRequest.GetResponse() +6592536
Raven.Client.Connection.HttpJsonRequest.ReadJsonInternal(Func`1 getResponse) in c:\Builds\RavenDB -Stable\Raven.Client.Lightweight\Connection\HttpJsonRequest.cs:349

[无效操作异常:

不知道该怎么做

您的请求与 Raven 知道的任何事情都不匹配,抱歉...

]
Raven.Client.Connection.HttpJsonRequest.HandleErrors(WebException e) 在 c:\Builds\RavenDB-Stable\Raven.Client.Lightweight\Connection\HttpJsonRequest.cs:513 Raven.Client.Connection.HttpJsonRequest.ReadJsonInternal(Func`1 getResponse) 在 c:\Builds\RavenDB-Stable\Raven.Client.Lightweight\Connection\HttpJsonRequest.cs:355 Raven.Client.Connection.HttpJsonRequest.ReadResponseJson() 在 c:\Builds\RavenDB-Stable\Raven.Client 中。 Lightweight\Connection\HttpJsonRequest.cs:239 Raven.Client.Document.RemoteBulkInsertOperation.GetAuthToken() 在 c:\Builds\RavenDB-Stable\Raven.Client.Lightweight\Document\RemoteBulkInsertOperation.cs:151 Raven.Client.Document.d_b.MoveNext() 在 c:\Builds\RavenDB-Stable\Raven.Client.Lightweight\Document\RemoteBulkInsertOperation.cs:0 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任务任务)+93
System.Runtime.CompilerServices.TaskAwaiter .HandleNonSuccessAndDebuggerNotification(Task task) +52
Raven.Client.Document.d
_3.MoveNext() in c:\Builds\RavenDB-Stable\Raven.Client.Lightweight\Document\RemoteBulkInsertOperation.cs:100 System.Runtime.CompilerServices.TaskAwaiter .ThrowForNonSuccess(任务任务)+93
System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务)+52 Raven.Client.Document.d__18.MoveNext() 在 c:\Builds\RavenDB-Stable\Raven.Client.Lightweight\文档\RemoteBulkInsertOperation.cs:281

[AggregateException: 发生一个或多个错误。]
System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) +83
System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccess(Task task) +71 Raven.Smuggler.d_ 6.MoveNext()在 c:\Builds\RavenDB-Stable\Raven.Smuggler\SmugglerApi.cs:87
System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任务任务)+93
System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务)+52 Raven .Abstractions.Smuggler.d
_26.MoveNext() in c:\Builds\RavenDB-Stable\Raven.Abstractions\Smuggler\SmugglerApiBase.cs:322 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任务任务)+93
System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) +52 System.Runtime.CompilerServices.TaskAwaiter.GetResult() +21 SampleApplication.Controllers.d__15.MoveNext() in c:\Src\Random\RavenImportExport\SampleApplication\Controllers \HomeController.cs:105 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任务任务)+93
System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务)+52 lambda_method(闭包,任务)+23
System.Threading.Tasks。 TaskHelpersExtensions.ThrowIfFaulted(任务任务)+33 System.Web.Mvc.Async.TaskAsyncActionDescriptor.EndExecute(IAsyncResult asyncResult)+68
System.Web.Mvc.Async.<>c_ DisplayClass34.b _33(IAsyncResult asyncResult)+16
System.Web.Mvc.Async.WrappedAsyncResult 1.End() +49 System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeActionMethod(IAsyncResult asyncResult) +32 System.Web.Mvc.Async.AsyncInvocationWithFilters.b_3c () +50 系统.Web.Mvc.Async.<>c _DisplayClass45.b_3e () +225 System.Web.Mvc.Async.<>c _DisplayClass30.b_2f (IAsyncResult asyncResult) +10 System.Web.Mvc.Async.WrappedAsyncResult 1。 End() +49 System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeActionMethodWithFilters(IAsyncResult asyncResult) +34 System.Web.Mvc.Async.<>c _DisplayClass28.b_ 19() +26 System.Web.Mvc.Async.< >c _DisplayClass1e.b_1.CallEndDelegate(IAsyncResult asyncResult) +10
System.Web.Mvc.Async.WrappedAsyncResultBase



1.CallEndDelegate(IAsyncResult asyncResult) +10
System.Web.Mvc.Async.WrappedAsyncResultBase


1b(IAsyncResult asyncResult) +100
System.Web.Mvc.Async.WrappedAsyncResult 1.End() +49 System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeAction(IAsyncResult asyncResult) +27 System.Web.Mvc.Controller.b1.CallEndDelegate(IAsyncResult asyncResult) +10
System.Web.Mvc.Async.WrappedAsyncResultBase


_1d (IAsyncResult asyncResult, ExecuteCoreState innerState) +13
System.Web.Mvc.Async.WrappedAsyncVoid 1.End() +54 System.Web.Mvc.Controller.EndExecuteCore(IAsyncResult asyncResult) +39 System.Web.Mvc.Controller.b_ 15 (IAsyncResult asyncResult,控制器控制器)+12 System.Web.Mvc.Async.WrappedAsyncVoid 1.End() +54 System.Web.Mvc.Controller.EndExecute(IAsyncResult asyncResult) +291.CallEndDelegate(IAsyncResult asyncResult) +36
System.Web.Mvc.Async.WrappedAsyncResultBase


1.CallEndDelegate(IAsyncResult asyncResult) +28
System.Web.Mvc.Async.WrappedAsyncResultBase


System.Web.Mvc.Controller.System.Web.Mvc.Async.IAsyncController.EndExecute(IAsyncResult asyncResult) +10
System.Web.Mvc.MvcHandler.b
_4(IAsyncResult asyncResult, ProcessRequestState innerState) +21
System.Web.Mvc。 Async.WrappedAsyncVoid 1.End() +54 System.Web.Mvc.MvcHandler.EndProcessRequest(IAsyncResult asyncResult) +31 System.Web.Mvc.MvcHandler.System.Web.IHttpAsyncHandler.EndProcessRequest(IAsyncResult 结果) +9 System.Web. CallHandlerExecutionStep.OnAsyncHandlerCompletion(IAsyncResult ar) +1291.CallEndDelegate(IAsyncResult asyncResult) +36
System.Web.Mvc.Async.WrappedAsyncResultBase


我究竟做错了什么?

0 投票
1 回答
533 浏览

ravendb - 如何在 ravendb 中设置 Raven-Entity-Name 元数据

嗨,请帮助我获取 RavenDB HTTP 客户端。我想将数据存储到名为Log的 Raven-Entity-Name中,但我无法在 PUT 命令中设置元数据。我们如何设置元数据

0 投票
2 回答
1690 浏览

ravendb - Raven.Server.exe 授予监听http权限失败

我已将 RavenDB 2.5.0 安装为 Windows 服务。当我尝试以管理员身份运行 Raven.Server.exe 时,我收到以下信息:

知道该怎么做吗?

0 投票
1 回答
510 浏览

ravendb - 如何使用 HTTP API 从 Raven 获取文档

我们在服务器上部署了 Raven,我们的 .NET 代码可以很好地使用它。

当远程到盒子上时,我希望能够通过 HTTP 客户端对 Raven 进行 HTTP 调用。

我可以在 Raven Studio 中看到,我在名为“Locations”的集合中有一个文档,ID 为“locations/1”。Raven 在端口 9999 上运行,因此在我的 HTTP 客户端(Chrome 的 Postman)中,我输入了以下 GET 请求:

但是,我总是得到 404。

如果我的 URL 格式错误(例如,通过将“文档”段更改为“文档”),我会收到来自 Raven 的回复,告诉我它不知道如何处理该请求,所以我必须在正确的行上。Raven 似乎只是在告诉我文件不存在,而我知道它存在。

谁能提供一些见解?

0 投票
1 回答
1714 浏览

ravendb - 如何使用 HTTP API 查询 RavenDB 类型的所有文档

我正在尝试使用 HTTP 客户端按类型查询所有文档的 RavenDB。我想要一个给定类型的文档集合。

我了解可能存在限制,仅返回前 1024 个文档。我远远低于这个数字,此外它是为了证明概念。

我能够使用以下语法获取所有文档:

我看到我可以使用 @metadata 字段来获取我想要的类型的文档,但我不知道语法。

由于 HTTP api 允许您查询索引,因此我尝试编写静态索引。当我从 Raven Studio 编写索引时,索引没有返回我想要的类型的文档。它给出的结果为零。

我也试过这个:

0 投票
1 回答
606 浏览

ravendb - 在 raven DB 中恢复备份文件时出错

我正在尝试使用以下命令提示符在本地恢复备份文件:

我收到如下错误:

谁能帮我解决这个错误。

提前致谢。

0 投票
1 回答
576 浏览

ravendb - RavenDB - 您可以使用 etag 查询特定实体以仅获取更改的文档吗?

在 Raven DB 中,使用 rest api 我可以使用以下方法获取特定集合的所有文档(按实体名称分组的相关文档):

自给定 etag 以来,我可以使用以下命令获取所有新/更新的文档:

问题是,上面返回来自所有集合的新/更新文档。

我的问题是,是否可以查询 Ravens rest api 以仅返回自给定 etag 以来已更改的文档,仅针对特定集合?我已经尝试了以下选项,但是对于除 /docs 端点之外的任何 api 调用,etag 参数似乎都被忽略了。

0 投票
1 回答
219 浏览

angularjs - 如何使用 AngularJS 和 RavenDB 检索 ID 作为索引的一部分?

我正在关注Pro AngularJS的教程,并且正在从 HTTP API 中检索一些产品。我不想使用Deployd,而是想使用RavenDB

按照这篇文章的建议,我可以使用动态索引来获取所有产品,如下所示:

http://localhost:8080/databases/Catalogue/indexes/dynamic/Products

这导致 JSON 如下所示:

AngularJS 的一个示例会导致:

使用这种方法时,ID 存储为product["@metadata"].["@id"],在受影响的页面上绑定有点困难,而不是product.id. 尝试显示 ID 时,将 ID 发回以从购物篮中删除,您将执行以下操作:

解决此问题的另一种方法是基本上动态创建 ID,如下所示:


我尝试创建显式调用 ID 的索引,例如:

但是该文档的格式与以前完全相同。


我的问题是这样的:

RavenDB 是否可以仅发出文档中的字段,即使通过特定索引或转换器 a) 忽略元数据或 b) 将 ID 显式添加为字段。

0 投票
1 回答
239 浏览

ravendb - 我可以向 RavenDB 的 /bulk_docs HTTP API 端点发布多个补丁请求吗?

我正在为 RavenDB 编写节点包装器。

我使用的是版本 3,但由于没有 HTTP 文档,我一直依赖 2.0 和 2.5 文档。

关于单个文档操作,我已经成功地将这个文档页面用于 PUT、DELETE 和多个 PATCH 到单个文档。

同样,我已经在一个 HTTP 调用中成功地将此文档页面用于多个文档的多个 PUT 和 DELETE,但是在一次调用中 PATCHing 多个文档的文档有点模糊

在“批处理请求”标题下,它清楚地表明这是可能的:

RavenDB 中的请求批处理是使用“/bulk_docs”端点处理的,该端点接受要执行的操作数组。操作的格式是:

方法 - PUT、PATCH 或 DELETE。

...

对于 PUT,我 POST 到 /bulk_docs:

对于 DELETE,我 POST 到 /bulk_docs:

对于补丁,我尝试发布以下内容,但没有任何运气:

我得到的只是500 - Internal Server Error并且没有任何在该文档页面上修补多个文档的示例,我有点卡住了......

任何帮助,将不胜感激 :)