2017-09-07 14 views
1

다음 pouchdb 쿼리가 있는데 여기에 문제가없는 것을 볼 수 있지만 오류 Cannot sort on field(s) "createTime" when using the default index이 발생합니다. 이 문제를 해결하는 방법에 대한 아이디어가 있습니까? 그리고 나는 쿼리를 만들 때마다 createIndex을해야합니까 ??기본 인덱스를 사용할 때 필드 xxx에서 정렬 할 수 없음

let getData =() => { 
    let re = new RegExp('2017-09-06') 
    db.createIndex({ 
    index: { 
     fields: ['createTime'], 
    } 
    }).then((result)=>{ 
    return db.find({ 
     selector: {createTime: {$regex:re}}, 
     fields: ['createTime'], 
     sort: ['createTime'] 
    }).then(function (result) { 
     // handle result 
     debugger 
    }).catch(function (err) { 
     console.log(err) 
     debugger 
    }); 
    }) 

} 
+0

소식이 있습니까? 지금 당장 같은 문제에 직면 해! – bastifix

답변

0

저는 왜 그런지 모르지만 'gt : null'과 함께 선택기를 추가하는 것이 제 경우에는 효과가있는 것 같습니다. 나는 pouchDB v 6.4.1을 사용하고 있습니다. 다음과 같이 시도해 볼 수 있습니까?

db.createIndex({ 
    index: { 
    fields: ['createTime'], 
    } 
}).then((result) => { 
    return db.find({ 
    selector: { 
     $and: [ 
     { createTime: {'$gt': null} }, 
     { createTime: {'$regex': new RegExp('2017-09-06')}} } 
     ] 
    }, 
    fields: ['createTime'], 
    sort: ['createTime'] 
    } 
); 
관련 문제