v0.7.0

寫入 JSON 欄位

最後更新

本頁說明 ToriiDB 如何設定、遞增與刪除已儲存 JSON 文件中的單一欄位。

寫入欄位

SET user.profile.level 2
SET user.profile.active true
SET user.tags.1 database
SET user.meta {"source":"import"}

值文字以 utils.Atov 轉換:

文字 儲存為
null JSON null(父層為 object 時刪除該欄位)
true / false 布林
整數 / 浮點數 數字
可解析的 {...} / [...] object / array
其他 字串
情況 結果
鍵不存在 建立新 object
鍵為非 JSON 失敗:not JSON type
鍵為頂層 array 被只含寫入路徑的新 object 取代
中間欄位不存在 建立空 object
中間欄位為純量 失敗
Array 索引超出範圍或非數字 失敗;array 不會被延長
NX / XX 針對頂層鍵判斷
結尾秒數 設定過期;未帶時既有過期在記憶體中保留
VECTOR 拒絕:error: VECTOR not supported on field-level SET

數值欄位

INCR user.profile.level
INCR user.profile.score 0.5

IncrField 需要頂層 object 與既有的數值欄位,加上 delta 後以 setParsed 重寫文件,並把完整文件附加到 log。欄位不存在或非數值時失敗,不會建立任何內容。

刪除欄位

DEL user.profile.active

只有單一帶點參數才會刪除欄位;DEL a.b c 會刪除頂層鍵 a.b 與 c。DelField 需要頂層 object。Object 欄位會被移除;array 元素會設為 null 而非縮短 array。路徑上不存在的中間 object 會在刪除前被建立為空 object。

相關頁面

EN