Миграция существующих данных в cloudant

Скажем, у меня есть такая структура данных в cloudant, где это одна запись:

{
    "UserId": "0014807347",
    "Conq": {
      "reqs": "Testing",
      "tag": "ARRANGEMENT"
    },
    "Outcome": {
      "tag": "ARRANGEMENT",
      "rating": 0
    },
    "id": "cdc11dc55a0006bb544d235e7dc1540a"
  }

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

1 ответ

Решение

Сделайте PUT с идентификатором и текущей ревизией с обновленным телом JSON:

curl https://$USERNAME:$PASSWORD@$USERNAME.cloudant.com/$DATABASE/cdc11dc55a0006bb544d235e7dc1540a\
 -X PUT \
 -H "Content-Type: application/json" \
 -d "$JSON"
{
    "_id": "cdc11dc55a0006bb544d235e7dc1540a",
    "_rev": "1-THE_CURRENT_REV_ID_HERE",
    "UserId": "0014807347",
    "Conq": {
        "reqs": "Testing",
        "tag": "ARRANGEMENT"
    },
    "Outcome": {
      "tag": "ARRANGEMENT",
      "rating": 0
    },
    "my_new_data_field": "My New Content Goes Here"
  }
}

Вы должны получить ответ типа:

{
  "ok":true,
  "id":"cdc11dc55a0006bb544d235e7dc1540a",
  "rev":"2-9176459034" 
}

Текущая редакция (обозначена 1-THE_CURRENT_REV_ID_HERE выше) должна быть ревизия, которую вы получили, когда документ был написан в последний раз.

Другие вопросы по тегам