Попытка автономной базы данных с 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'
});