Bezdepbonusu7Программирование: статьи и ответы

Вопрос

Самый идеальный способ обновить коллекцию RavenDB без индекса.

Автор вопроса: JuliënОтветов: 1

Я хочу обновить коллекцию документов, которые динамически запрашиваются, например. без индекса. Вот (псевдо) образец, который работает:

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 ("безопасно по умолчанию"). Но проще говоря: это работает. Я не создал индекс для этого, и RavenDB отображает динамический индекс при использовании, который, похоже, работает нормально.

Но со всеми изящными функциями RavenDB я убежден, что это не самый идеальный способ сделать это.

Образцы, представленные для частичного обновления документов, пакетных операций, похоже, разработаны для этой цели. Однако все образцы, похоже, относятся только к одному документу, и я не могу найти достойного объяснения того, как заставить это работать с коллекцией объектов.

Кроме того, в HTTP API есть несколько достойных примеров операций с несколькими документами. . На самом деле в разделе Установить обновления представлен именно тот сценарий, которого я хочу достичь. Однако для этого сначала необходимо создать индекс.

Тем не менее, я не могу найти достойный пример того, как просто обновить динамическую коллекцию с помощью клиента .NET. Короче говоря, вопрос таков: что было бы лучше или более целесообразно при простом обновлении коллекции, чем мой пример выше?

ravendb

Ответы

Ответ 1 · Ayende Rahien

Если у вас небольшая коллекция, то подойдет. RavenDB создаст для вас индекс за кулисами.

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы