Миграция существующих данных в 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
выше) должна быть ревизия, которую вы получили, когда документ был написан в последний раз.