Не могу уничтожить PouchDB

У меня возникли проблемы с удалением моей PouchDB для сброса моего мобильного приложения jQuery.

(Эквивалент jsFiddle: http://jsfiddle.net/bYR8c/2/)

У меня в app.js:

var db = new PouchDB('petrolog');

function resetDb(){
    db.destroy(function(err, info) { console.log('Error: ' + err); 
       console.log('Info: ' + info); }); //this is line 38, referenced in errors below
    showFillups(); //redraws the UI
}

и в index.html:

<head>
<script src="http://download.pouchdb.com/pouchdb-nightly.js"></script>
</head>

<body>
<a id="btnResetDb" class="ui-shadow ui-btn ui-corner-all">Erase all fillups</a>

<script> $('#btnResetDb').click(function(event){resetDb();}); </script>
</body>

Когда я нажимаю кнопку, я получаю от FireBug следующее:

Error: null        app.js (line 38)
Info: undefined    app.js (line 38)

они соответствуют моей инструкции db.destroy() в resetDb()

Какие-либо предложения? Я уже ознакомился с документацией по API на странице http://pouchdb.com/api.html#delete_database но особой помощи там не нашел.


person CristosLC    schedule 28.03.2014    source источник


Ответы (1)


Метод destroy() на самом деле ничего не возвращает для info. Тот факт, что error равен нулю, указывает на то, что все прошло успешно.

На самом деле это ошибка в документации PouchDB, которую мы исправим.

FWIW, однако, ваш jsfiddle не работает по несвязанным причинам: среда скрипки, похоже, не имеет доступа к каким-либо локальным базам данных, поэтому в Firefox я вижу Error: No valid adapter found.

person nlawson    schedule 17.04.2014
comment
Просто небольшой вопрос: там сказано, что уничтожение устарело, поэтому я должен просто пометить все записи/документы как удаленные, а затем сжать их? - person user2741831; 20.02.2015
comment
destroy() — это отдельная от сжатия операция, и PouchDB.destroy() устарела, а не db.destroy(). Я обновлю документы, чтобы сделать это более ясным. - person nlawson; 20.02.2015