PouchDB Поиск различных столбцов поиска и сортировки с Mango Queries - PullRequest
0 голосов
/ 19 октября 2018

Попытка автономной базы данных с PouchDb (Angular 5) и ужасное время с ее индексами, поиском и сортировкой.

Теперь, как и в любой системе, мы должны реализовать поиск и сортировку любой комбинации.Мы дошли до того, что создали различные индексы с полем сортировки в качестве первого поля, а затем специально добавили use_index в команду поиска.

Однако это все равно дает нам ошибку, например «Нет доступного для использования индекса», если мыдобавив любой критерий поиска, мы даже попытались добавить $ gt: null в качестве первого условия, чтобы первый столбец поиска и поле сортировки совпали.Просто не поддается логике.

Какой правильный подход?Например, если я хочу найти по date_created и association_id, а затем отсортировать по location_name?Кто-нибудь успешно реализовал запросы Mango с различными столбцами поиска и сортировки?

index:
{
 fields: ['location_name','date_created','association_id','association_title'] ,
 ddoc: 'my_idx',
}

db.find({
          selector: {$and: [  
                              'location_name': {$gt: null},
                              'date_created': {$eq: my_date},
                              'association_id': {$eq: my_assoc_id}
                           ]},
          sort: ['location_name'],
          limit: maxPerPage,
          skip: (page-1)*maxPerPage,
          fields:['location_name','date_created', 'association_title'],
          use_index: 'my_idx'
});
...