2016-01-18 27 views
2

使用鍵調用CouchDB視圖時,我得不到任何結果,但total_rows與偏移量不同。爲什麼在找不到行時CouchDB視圖的total_rows會發生偏移?

這讓我感到驚訝,因爲我認爲偏移量是找到匹配視圖關鍵字的第一個文檔的索引。顯然情況並非如此。

我的URL:

http://foutonURL/dbName/_design/designDocName/_view/viewName?key=%226696%22 

響應:

{"total_rows":2716,"offset":2612,"rows":[ 

]} 

回答

2

當有匹配給定密鑰視圖中沒有條目,則offset值是索引視圖,其中入口會是如果它有想要的鑰匙。從本質上講,CouchDB說這是我去哪裏找到給定密鑰的入口,但那裏什麼也沒有。

+0

但是...爲什麼然後它不是最後一行?它肯定需要檢查一路到最後一行以確認沒有匹配?從答案中,聽起來像沙發猜想在最適當的地方'想象'一個關鍵會。我沒有關注... –

+0

視圖條目存儲在btree中,可以實現快速,高效的查找。這也意味着當尋找一個密鑰時,它可以快速定位它將存在的葉節點。不需要猜測。 – Kerr

+0

Ahhhhh。謝謝。 –

相關問題