Я использовал couchDB с PHP, используя жадность для публикации, размещения, получения и удаления данных.пост, получить, удалить работает нормально, но проблема возникает в пут.Когда я отправляю документ запроса на добавление, обновляются только обновленные значения атрибутов, а все остальные атрибуты удаляются в документе.
Я уже делаю пост, удаляю и получаю данные
$response = $client->post(
"/child_installed_apps/_find",
[GuzzleHttp\RequestOptions::JSON => ['selector' =>
['parent_id' => ['$eq' => $userid], 'child_device_id' => ['$eq' =>
$deviceId], 'package_name' => ['$eq' => $packageName]],]]);
Вот кодзапрос на поставку
foreach ($documents['docs'] as $doc) {
$result = $client->PUT(
"/child_installed_apps/" . $doc['_id'] . '?rev=' .
urlencode($doc['_rev']), ['body' => json_encode($app_detail)]);
}
До запроса на поставку документа, как это:
{
"id": "1dde9f973b42136c1921bb84d2bca33a",
"key": "1dde9f973b42136c1921bb84d2bca33a",
"value": {
"rev": "1-3ee7bd67f3552f68f7a7c4e4c8b2278f"
},"doc": {
"_id": "1dde9f973b42136c1921bb84d2bca33a",
"_rev": "1-3ee7bd67f3552f68f7a7c4e4c8b2278f",
"parent_id": "PV-407",
"child_device_id": "2525252525",
"app_name": "IMDb Movies & TV",
"app_category": "Entertainment",
"app_icon": "https://lh3.googleusercontent.com
/IKW5EWVX4qUYF6LPP1_O1sWiZsMblSQVnBrtkMAd07Br69lEApDez9yzFe09iAgJAg=s180-rw",
"package_name": "com.android.imdb",
"app_status": "0",
"all_block_app_status": "0",
"timely_status": "0",
"monday": "00:00",
"tuesday": "00:00",
"wednesday": "00:00",
"thursday": "00:00",
"friday": "00:00",
"saturday": "00:00",
"sunday": "00:00",
"app_datetime": "2019-01-15 17:20:46"
}
и после запроса документа, как это:
{
"id": "378647beffcb869ab4ad831196666059",
"key": "378647beffcb869ab4ad831196666059",
"value": {
"rev": "4-949230091e577dc3d89725836d35a71b"
},"doc": {
"_id": "378647beffcb869ab4ad831196666059",
"_rev": "4-949230091e577dc3d89725836d35a71b",
"app_status": "1"
}
}