Как узнать, какие поля проиндексированы в pouchdb, если я использую query () API? - PullRequest
0 голосов
/ 23 ноября 2018

Я новичок в pouchdb и читаю ниже исходный код:

                    db.query('product_index', {
                        startkey: ["01234"],
                        endkey: ["01234", {}],
                        include_docs: false
                    });

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

Ниже кода я вижу, что он строит индекс по полю foo.Но как я могу понять query API для построения индекса?Чем отличается использование query и createIndex от восприятия индекса?

db.createIndex({
  index: {
    fields: ['foo']
  }
})

1 Ответ

0 голосов
/ 23 ноября 2018

Вы видели Руководство по PouchDB Массовые операции раздел Пожалуйста, используйте 'allDocs ()'.Серьезно. ?

Слишком многие разработчики упускают этот ценный API, потому что они его неправильно понимают.Когда разработчик говорит «мое приложение PouchDB медленное!», Обычно это происходит потому, что они используют медленный API query(), когда они должны использовать быстрый allDocs() API.

При разработке вашегоструктуры данных очень важно иметь это в виду.Вы должны определить свои поля идентификатора записи, чтобы оптимизировать доступность данных через allDocs().

...