PouchDB使用芒果查询查找不同的搜索和排序列

时间:2018-10-19 06:43:52

标签: pouchdb couchdb-mango

曾经尝试使用PouchDb(Angular 5)脱机数据库,并且在索引,搜索和排序方面花费了很多时间。

现在,与任何系统一样,我们必须实现搜索和任意组合的排序。我们以创建排序索引字段为第一个字段的方式创建了不同的索引,然后专门在find命令中添加了use_index。

但是,这仍然给我们类似“无可用索引可用”的错误,如果我们添加任何搜索词,我们甚至尝试添加$ gt:null作为第一个条件,以便第一个搜索列和排序字段匹配。只是违抗逻辑。

正确的方法是什么?例如,如果我想按date_created和association_id查找,然后按location_name排序?有没有人成功地用不同的搜索和排序列实现了芒果查询?

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'
});

0 个答案:

没有答案