我想更新一组文档,这些文档是动态查询,例如没有索引。这是一个有效的(伪)样本:
void ChangeOwnerShip(string oldName, string newName) {
var collection = session.Query<GummyBears>()
.Where(p => p.OwnerName == oldName);
foreach (var doc in collection) {
doc.OwnerName == newName;
}
session.SaveChanges();
}
在上面的示例中,我不会考虑您可以使用的文档限制,并且可能会从RavenDB中考虑(&#34;默认为安全&#34;)。但简单地说:它有效。我还没有为此创建索引,RavenDB在使用时会列出动态索引,这似乎工作正常。
但是凭借RavenDB中所有漂亮的功能,我确信这不是最理想的做法。
为部分文档更新提供的示例Batch operations似乎是为此目的而设计的。但是,这些样本似乎只与单个文档相关 - 而且我似乎无法找到关于如何使用对象集合进行处理的合适解释。
此外,HTTP API在multi document operations上有一些不错的样本。事实上,基于集合的更新部分提供了我想要实现的场景类型。不过,它首先需要创建一个索引。
尽管如此,我似乎无法找到一个关于如何使用.NET客户端简单更新动态集合的好例子。简而言之,问题是:对于集合的简单更新,什么是更好或更明智的方法,而不是上面的示例?
答案 0 :(得分:0)
如果你的收藏很小,它会很好用。 RavenDB将为您创建一个幕后索引。