我的场景:我有几千个文档要更改(重命名和添加属性),我编写了一个 PatchRequest 来更改文档,但这需要一个文档 ID。
我正在寻找一种方法来获取特定类型的所有文档的文档 ID 列表,有什么想法吗?
如果可能的话,我想避免从服务器检索文档。
我的场景:我有几千个文档要更改(重命名和添加属性),我编写了一个 PatchRequest 来更改文档,但这需要一个文档 ID。
我正在寻找一种方法来获取特定类型的所有文档的文档 ID 列表,有什么想法吗?
如果可能的话,我想避免从服务器检索文档。
我已经编写了一个 PatchRequest 来更改文档,但这需要一个文档 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);
这将允许您修补与索引匹配的所有文档。该索引可以是任何你喜欢的。
有关更多信息,请参阅Raven 文档中的基于集合的操作。