2015-10-14 29 views
1

在我的數據中,我有兩個我想用作索引的字段。它們是sensorid(任意字符串)和timestamp(yyyy-mm-dd hh:mm:ss)。「這個選擇器沒有可用的索引」,儘管我做了一個

所以我使用Cloudant索引生成器爲這兩個索引做了索引。這是成功創建的,它作爲設計文檔出現。

{ 
    "index": { 
    "fields": [ 
     { 
    "name": "sensorid", 
    "type": "string" 
     }, 
     { 
    "name": "timestamp", 
    "type": "string" 
     } 
    ] 
    }, 
    "type": "text" 
} 

但是,當我試圖讓下面的查詢找到一個時間戳超過某個值更新所有文檔,有人告訴我有用於選擇沒有可用的指標:

{ 
    "selector": { 
    "timestamp": { 
     "$gt": "2015-10-13 16:00:00" 
    } 
    }, 
    "fields": [ 
    "_id", 
    "_rev" 
    ], 
    "sort": [ 
    { 
     "_id": "asc" 
    } 
    ] 
} 

什麼都有我做錯了?

回答

3

在我看來,像雲查詢只允許排序在選擇器的一部分的字段。 因此,你的選擇應包括_id場,看起來像:

"selector":{ 
     "_id":{ 
     "$gt":0 
     }, 
     "timestamp":{ 
     "$gt":"2015-10-13 16:00:00" 
     } 
    } 

我希望這對你的作品!

相關問題