N1QL Изменить объект внутри массива

Я столкнулся с тем же сообщением об ошибке «Ошибка анализа: проблема с парсингом пакета» с моими подписанными APK, но я подозреваю, что это может быть вызвано разными причинами.

Чтобы проверить это, я сделал следующее:

Настройка Windows 8.1 Eclipse ADT Build: v22.6.2-1085508

Я создал типичное новое приложение Helloworld, принимающее все значения по умолчанию.

Я побежал приложение на эмуляторе и живое устройство успешно.

Затем я загрузил и установил apk на свое живое устройство и успешно выполнил его.

Он сгенерировал apk в папке bin с размером 782 КБ.

Затем я экспортировал приложение Helloworld в ту же папку bin, подписывая приложение из моего хранилища ключей, которое ранее использовалось для продвижения в Google Play.

Он создал APK размером 385 КБ (заменив оригинальный apk).

Я загрузил apk на свое устройство, и когда я пошел его устанавливать, я получил ошибку «Ошибка анализа: есть проблема синтаксического анализа пакета " (это тот же пакет, который загружен и установлен, когда он выполнен в виде не экспортируемой формы).

1
задан Le G 19 March 2019 в 09:36
поделиться

1 ответ

Предложение WHERE определяет, какой документ в выражении UPDATE, а предложение SET - что обновлять. Вам нужно предложение WHERE, чтобы избежать ненужных мутаций.

UPDATE mydoc SET x.myfield = $1 FOR x IN mydoc.myarray WHEN x.`key` = $2 END
WHERE ANY v IN mydoc.myarray SATISFIRS v.`key` = $2 AND v.myfield != $1 END;

Выше оператор обновляет все совпадающие поля в массиве. Зачем вам нужно обновлять несколько утверждений одновременно. Здесь нет ограничений. Но примечание для обновления документа необходимо получить, изменить и записать обратно. В промежутке между некоторыми другими изменениями потока CAS будет не соответствовать, и ошибка будет возвращаться, и вам нужно разобраться с этим случаем.

0
ответ дан vsr 19 March 2019 в 09:36
поделиться
Другие вопросы по тегам:

Похожие вопросы: