我有以下pouchdb查询,我没有看到这里有任何问题,但它会抛出错误Cannot sort on field(s) "createTime" when using the default index
。关于如何解决这个问题的任何想法?每次查询时我都必须createIndex
吗?
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 :(得分:3)
我不知道为什么,但添加选择器' 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']
}
);