最近更新时间:2024.04.16 13:11:50
首次发布时间:2023.11.09 18:59:55
upsert_data 用于在指定的数据集 Collection 内写入数据。指定写入的数据是一个数组,允许单次插入一条数据或者多条数据,单次最多可插入100条数据。
说明
当前不支持更新部分字段,每次写入数据都要更新所有字段。写入数据时,如果 Collection 中已存在相同主键的数据,则会覆盖源数据;如果 Collection 中没有相同主键的数据,则会写入新数据。
参数名 | 子参数 | 类型 | 是否必选 | 参数说明 |
---|---|---|---|---|
Data 说明 Data 实例或者 Data 实例列表。 | fields | array<map> | 是 | 指定写入的数据。
|
ttl | int | 否 | 数据过期时间,单位为秒。
|
# 构建向量 def gen_random_vector(dim): res = [0, ] * dim for i in range(dim): res[i] = random.random() - 0.5 return res collection = vikingdb_service.get_collection("example") field1 = {"doc_id": "11", "text_vector": gen_random_vector(12), "text_sparse_vector": {"hello": 0.34, "world": 0.03, "!": 0.11}, "like": 1, "price": 1.11, "author": ["gy"], "aim": True} field2 = {"doc_id": "22", "text_vector": gen_random_vector(12), "text_sparse_vector": {"hi": 0.12, "there": 0.043, "!": 0.5},"like": 2, "price": 2.22, "author": ["gy", "xjq"], "aim": False} data1 = Data(field1, TTL=2000) data2 = Data(field2, TTL=3000) datas = [] datas.append(data1) datas.append(data2) collection.upsert_data(datas)
Python 调用执行上面的任务,执行成功无返回信息。