2017-09-07 7 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'] 
    } 
); 
関連する問題