跳到主要内容
版本:V1.1.0

update - 更新数据

update() 用于更新 collection 中的现有记录。在更新记录时,记录必须存在,否则将引发错误。

信息

仅支持在使用 SeekdbClient 连接时,才能使用该接口。关于 SeekdbClient 的详细介绍,参见 SeekdbClient

前提条件

  • 您已经安装了 seekdb-js,有关安装 seekdb-js 的详细信息,参见 快速开始

  • 您已经安装了 seekdb 服务器模式,有关安装 seekdb 服务器模式的详细信息,参见 通过 yum install 部署 seekdb

  • 您已经连接到数据库。有关连接的详细操作参见 SeekdbClient

  • 请确保连接的用户已拥有待操作的表的 UPDATE 权限,查看当前用户权限的相关操作请参见 查看用户权限。如果不具备该权限,请联系管理员为您授权,用户授权的相关操作请参见 直接授予权限

请求参数

update(
ids: ids,
embeddings: embeddings,
documents: documents,
metadatas: metadatas
)
参数取值类型是否必选描述取值示例
idsstring | string[]必选需要修改的 ID。可以是单个,也可以是数组。item1
embeddingsnumber[] | number[][]可选可以是单个向量或向量数组。如果不提供且提供了 documents,会自动使用 embeddingFunction 生成[[0.9, 0.8, 0.7], [0.6, 0.5, 0.4]]
documentsstring | string[]可选文档内容,可以是单个字符串或字符串数组。"New document text"
metadatasMetadata | Metadata[]可选元数据,可以是单个对象或对象数组。{"category": "AI"}
信息
  • 至少提供 embeddingsmetadatasdocuments 中的一个。
  • 允许仅元数据更新(无向量,无文档)。使用的 embeddingFunction 是与集合关联的函数。
  • 所有数组参数的长度必须与 ids 数组长度一致。
  • 只更新已存在的记录,不存在的 ID 会被忽略。

请求示例

import { SeekdbClient } from "seekdb";

const client = new SeekdbClient({
host: "127.0.0.1",
port: 2881,
user: "root",
password: "",
database: "test",
});

const collection = await client.getCollection({
name: "my_collection"
});

await collection.update({
ids: "item1",
documents: "New document text",
metadatas: { category: "AI" }
});

返回参数

相关操作