409 http ошибка в Couchbase Lite в PhoneGap на iOS

Я получаю 409 за действия PUT, POST и DELETE.

Я успешно создал базу данных и ОДИН РАЗ успешно поместил один документ. Я пробовал местные и "нормальные" документы. Я не уделяю внимания пересмотрам, но думаю, что это связано с этим. Я только хочу сохранить и обновить эту строку JSON в моем приложении - вот и все.

Как будто я создал этот документ, чтобы остаться навсегда:-)

Поможет ли пример кода? Я действительно только использую Angular в $http.

На заметку: мне нужен механизм сохранения в phonegap, устойчивый к кешу html5.

1 ответ

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

config.db.get( "myDocumentID", function(error, doc) {
    if (error) {
        if (error.status == 404) {
             //document does not exist insert it
             config.db.put( "myDocumentID", myDocument, function(error,ok) {
                 if(error) { alert( "error" + JSON.stringify( error ) } else {
                      alert("success");
                 }
             } )
        } else {
             alert( "error:" + JSON.stringify( error ) ) 
        }
    } else {
        //update your document
        doc.my_new_key = "value";
        config.db.put( "myDocumentID", doc, function(error, ok) {
            if( error ) { alert( "error:" + JSON.stringify( error ) ) } else {
                 alert("success");
            }
        } );
    }
} ) 
Другие вопросы по тегам