Upsert
POST
http://${MILVUS_URI}/v2/vectordb/entities/upsert
This operation inserts new records into the database or updates existing ones.
Notes The upsert endpoint does not apply to the collections that have autoId enabled.
Example
export MILVUS_URI="localhost:19530"
curl --location --request POST "http://${MILVUS_URI}/v2/vectordb/entities/upsert" \
--header "Content-Type: application/json" \
--data-raw '{
"data": [
{"id": 0, "vector": [0.3580376395471989, -0.6023495712049978, 0.18414012509913835, -0.26286205330961354, 0.9029438446296592], "color": "pink_8682"},
{"id": 1, "vector": [0.19886812562848388, 0.06023560599112088, 0.6976963061752597, 0.2614474506242501, 0.838729485096104], "color": "red_7025"},
{"id": 2, "vector": [0.43742130801983836, -0.5597502546264526, 0.6457887650909682, 0.7894058910881185, 0.20785793220625592], "color": "orange_6781"},
{"id": 3, "vector": [0.3172005263489739, 0.9719044792798428, -0.36981146090600725, -0.4860894583077995, 0.95791889146345], "color": "pink_9298"},
{"id": 4, "vector": [0.4452349528804562, -0.8757026943054742, 0.8220779437047674, 0.46406290649483184, 0.30337481143159106], "color": "red_4794"},
{"id": 5, "vector": [0.985825131989184, -0.8144651566660419, 0.6299267002202009, 0.1206906911183383, -0.1446277761879955], "color": "yellow_4222"},
{"id": 6, "vector": [0.8371977790571115, -0.015764369584852833, -0.31062937026679327, -0.562666951622192, -0.8984947637863987], "color": "red_9392"},
{"id": 7, "vector": [-0.33445148015177995, -0.2567135004164067, 0.8987539745369246, 0.9402995886420709, 0.5378064918413052], "color": "grey_8510"},
{"id": 8, "vector": [0.39524717779832685, 0.4000257286739164, -0.5890507376891594, -0.8650502298996872, -0.6140360785406336], "color": "white_9381"},
{"id": 9, "vector": [0.5718280481994695, 0.24070317428066512, -0.3737913482606834, -0.06726932177492717, -0.6980531615588608], "color": "purple_4976"}
],
"collectionName": "quick_setup"
}'
Possible response is similar to the following:
{
"code": 0,
"data": {
"upsertCount": 10,
"upsertIds": [
0,
1,
2,
3,
4,
5,
6,
7,
8,
9
]
}
}
Request
Parameters
Header parameters
Parameter Description Request-Timeout
integer
The timeout duration for this operation.
Setting this to None indicates that this operation timeouts when any response arrives or any error occurs.Authorization
string
The authentication token.No query parameters required
No path parameters required
Request Body
{
"dbName": "string",
"collectionName": "string",
"partitionName": "string"
}
Parameter | Description | |
---|---|---|
dbName | string The name of the database. | |
collectionName * | string The name of the collection in which to upsert data. | |
data | __object \ | array[object]__ The data to insert into the current collection. The data to insert should be a dictionary that matches the schema of the current collection or a list of such dictionaries. |
partitionName | string The name of a partition in the current collection. If specified, the data is to be inserted into the specified partition. |
Response
A MutationResult object.
Response Bodies
- Response body if we process your request successfully
{
"code": "integer",
"data": {
"upsertCount": "integer",
"upsertIds": [
{}
]
}
}
- Response body if we failed to process your request
{
"code": integer,
"message": string
}
Properties
The properties in the returned response are listed in the following table.
Property | Description |
---|---|
code | integer Indicates whether the request succeeds.
|
message | string Indicates the possible reason for the reported error. |
data | object |
data.upsertCount | integer The number of inserted entities. |
data[].upsertIds | array An array of the IDs of inserted entities. |
data[].upsertIds[] | string |