查詢
查詢(Query)讓你使用結構化篩選規則依屬性值篩選 Object。不同於搜尋會在所有內容中進行全文比對,查詢針對特定屬性以型別感知運算子進行篩選。
查詢使用結構化 FilterRule 條件來比對 Object。每條規則指定一個屬性、一個運算子和一個值。提供多個規則時,會以 AND 邏輯組合——只有符合所有條件的 Object 才會被回傳。
type 是一個特殊的篩選屬性,比對 Object 的 type 名稱。其他所有屬性都比對 frontmatter 屬性值。
列出 Object
Section titled “列出 Object”使用 CLI 列出所有 Object 或搜尋:
# 列出所有 Objecttmd object listtmd object list --json
# 全文搜尋tmd search "concurrency"已封存的 Object
Section titled “已封存的 Object”已封存的 Object 預設會從查詢和列表結果中排除。這讓你的預設檢視不會被軟刪除的內容干擾,同時不會從 vault 中永久移除它們。若要包含已封存的 Object,使用 --include-archived flag:
tmd object list --include-archivedView 支援型別感知的篩選運算子。每種屬性類型有一組有效的運算子:
| 屬性類型 | 運算子 |
|---|---|
string, url | is, is_not, contains, does_not_contain, starts_with, ends_with, is_empty, is_not_empty |
number | eq, neq, gt, gte, lt, lte, is_empty, is_not_empty |
date, datetime | eq, before, after, on_or_before, on_or_after, is_empty, is_not_empty |
select | is, is_not, is_empty, is_not_empty |
multi_select, relation | contains, does_not_contain, is_empty, is_not_empty |
checkbox | is, is_not |
篩選規則定義在 view 設定中:
filter: - property: status operator: is value: reading - property: rating operator: gt value: "3"多個篩選規則以 AND 邏輯組合。
查詢支援依屬性值排序。在 TUI view 模式中使用時,排序規則定義在 view 設定中:
sort: - property: rating direction: desc排序方向為 asc(遞增)或 desc(遞減)。多個排序規則依序套用(第一條規則為主排序)。
如果 SQLite 索引無法使用(遺失或損毀),查詢會自動退回到檔案系統掃描,並在記憶體中進行篩選比對。備用路徑支援上述所有相同的運算子,確保結果一致。效能會降低(O(n) 檔案讀取而非索引查詢),但操作仍能成功完成。觸發備用模式時會記錄警告。