#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 = "";
}