0
正如您在標題中看到的那樣,我想要檢索其鍵值小於指定鍵的數據,然後我需要連接多個遊標,其中一個可能多於指定的字符串,另一個可能小於指定的整數。默認情況下,DB_SET_RANGE將返回大於或等於指定鍵的鍵。如何使用berkeley db檢索鍵值小於指定鍵的數據?
我應該使用重寫比較函數來實現它,並將它設置爲數據庫的比較函數,就像set_bt_compare()一樣?
謝謝!
正如您在標題中看到的那樣,我想要檢索其鍵值小於指定鍵的數據,然後我需要連接多個遊標,其中一個可能多於指定的字符串,另一個可能小於指定的整數。默認情況下,DB_SET_RANGE將返回大於或等於指定鍵的鍵。如何使用berkeley db檢索鍵值小於指定鍵的數據?
我應該使用重寫比較函數來實現它,並將它設置爲數據庫的比較函數,就像set_bt_compare()一樣?
謝謝!
我想你會發現你仍然需要你自己的DB_NEXT或DB_PREV循環,用你自己的邏輯來比較鍵和在更復雜的條件下退出循環。
您可以使用DB_SET_RANGE來查找鍵較大的點,然後轉向並使用DB_PREV向後移動。或者,您可以使用DB_FIRST從數據庫的開始處開始,並使用DB_NEXT向前掃描,直到達到它們更大的點。