用于存储、更新或删除项目的操作。

interface PutOperation {
    index?: false | string[];
    key: string;
    namespace: string[];
    value: null | Record<string, any>;
}

属性

index?: false | string[]

控制项目的字段如何为搜索操作建立索引。

  • undefined: 使用存储的默认索引配置
  • false: 禁用此项目的索引
  • string[]: 要索引的字段路径列表

路径语法支持

  • 嵌套字段: "metadata.title"
  • 数组访问: "chapters[*].content" (每个单独索引)
  • 特定索引: "authors[0].name"

示例

// Index specific fields
index: ["metadata.title", "chapters[*].content"]

// Disable indexing
index: false
key: string

命名空间内文档的唯一标识符。与命名空间一起构成项目的完整路径。

示例:如果命名空间是 ["documents", "user123"],键是 "report1",则完整路径实际上是 "documents/user123/report1"

namespace: string[]

项目的分层路径。充当类似文件夹的结构来组织项目。每个元素代表层级结构中的一个级别。

示例

// Root level documents
namespace: ["documents"]

// User-specific documents
namespace: ["documents", "user123"]

// Nested cache structure
namespace: ["cache", "docs", "v1"]
value: null | Record<string, any>

要存储的数据,或 null 以删除项目。必须是带有字符串键的 JSON 可序列化对象。设置为 null 表示应删除该项目。

示例

{
* field1: "string value",
* field2: 123,
* nested: { can: "contain", any: "serializable data" }
* }