我的场景: 我有几千个文档需要更改(重命名和添加属性),我编写了一个 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/