ravendb - 在 RavenDB 中,我可以检索文档类型的所有文档 ID

标签 ravendb

我的场景: 我有几千个文档需要更改(重命名和添加属性),我编写了一个 PatchRequest 来更改文档,但这需要一个文档 ID。

我正在寻找一种方法来获取特定类型的所有文档的文档 ID 列表,有什么想法吗?

如果可能的话,我想避免从服务器检索文档。

最佳答案

I have written a PatchRequest to alter the document but this takes a document Id.

不,.Patch 采用文档 ID,而不是 PatchRequest。

由于您想要更新整个文档,因此您需要使用 .UpdateByIndex 方法:

documentStore.DatabaseCommands.UpdateByIndex("IndexName",
      new IndexQuery {Query = "Title:RavenDB"},
      new []
      {
         new PatchRequest
         {
            Type = PatchCommandType.Add,
            Name = "Comments",
            Value = "New automatic comment we added programmatically"
         }
      }, allowStale: false);

这将允许您修补与索引匹配的所有文档。该索引可以是您喜欢的任何内容。

有关详细信息,请参阅Set-Based Operations在 Raven 文档中。

关于ravendb - 在 RavenDB 中,我可以检索文档类型的所有文档 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16466235/

相关文章:

version - Raven.Client.Authorization 1.0.960 包与 Raven.Client 1.0.972 兼容吗?

c# - RavenDB 空间搜索始终为空

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

c# - 带有自定义字段名称的 RavenDB 查询索引

ravendb - RavenDB 中每种 key 生成策略的优缺点

RavenDB 嵌入 Azure 网站 - 拒绝访问

c# - RavenDB 仍然包含往返加载包含的数据

javascript - 使用 node.js 连接到 ravendb

ravendb - 面向对象数据库和文档数据库有什么区别?

c# - RavenDB 按索引删除