Установить обновления на основе в RavenDB - PullRequest
1 голос
/ 14 ноября 2011

Я работаю с документами RavenDB.Мне нужно изменить поле во всех документах одновременно.Я читал, что в документации Raven DB есть что-то под названием set based updates.Мне нужна небольшая помощь, чтобы направить меня сюда.

Патронный документ выглядит примерно так:

{
"Privilege": [
    {
        "Level": "Gold",
        "Code": "12312",
        "EndDate": "12/12/2012"
    }
],
"Phones": [
    {
        "Cell": "123123",
        "Home": "9783041284",
        "Office": "1234123412"
    }
]
{

В коллекции патронов есть поле Privilege.Level в каждом документе.Мне нужно написать запрос, чтобы обновить его до «Gold» для всех документов в этой коллекции Patrons.Это то, что я знаю до сих пор.Мне нужно сначала создать Index (ChangePrivilegeIndex):

from Patrons in docs.patrons
select new {Patrons.Privilege.Level}

, а затем написать оператор curl для одновременного исправления документов, например:

PATCH http://localhost:8080/bulk_docs/ChangePrivilegeIndex

 [
  { "Type": "Set", "Name": "Privilege.Level", "Value": "Gold"}
 ]

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

1 Ответ

1 голос
/ 25 ноября 2011

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

...