RavenDB добавляет свойство с помощью RQL

#ravendb-studio #ravendb5

Вопрос:

Есть ли способ добавить свойство ко всем документам в коллекции с помощью RQL(Исправление)?

Массовая вставка-возможное решение, но для этого требуется написать код на c#, что не является быстрым решением, особенно в том случае, когда вам нужно манипулировать своими данными и много раз возвращаться и возвращаться.

Ответ №1:

Вы можете добавить новое поле с исправлением.

Можете прочитать об этом здесь, в книге RavenDB, в разделе «Исправленные документы».

т. е. следующий RQL добавит новое поле MyNewPropery ко всем документам в коллекции категорий:

 from Categories
update {
    this.MyNewPropery = "some content";
}
 

Ответ №2:

Чтобы завершить ответ @Danielle, я подумал, что было бы полезно добавить эту строку кода для тех, кто хочет найти и обновить свои старые документы.

 where true and not exists(MyNewPropery)
 

Это немного странная команда, как вы можете видеть в инструкции where, но
именно так мы можем использовать RQL для поиска несуществующего свойства в определенной
коллекции.

Полный код:

 from Categories
where true and not exists(MyNewPropery)
update {
    this.MyNewPropery = "";
}