# Vector store record delete Node

### Overview

The Vector Store Record Delete Node enables deletion of records from a vector store collection based on specified criteria. This node supports multiple vector store providers and offers flexible deletion conditions through filtering expressions.

:warning: The pinecone vector store doesn't support record deletion based on filters on severless mode.

Usage cost: 1 credit

### Configuration

#### Settings

1. **Collection Mode**
   * Use Existing Collection: Delete from a predefined collection
   * Custom Configuration: Specify custom collection details
2. **Collection Settings** (based on mode)
   * **Existing Collection Mode:**
     * Vector Store Collection\*: Select from available collections
   * **Custom Configuration Mode:**
     * Knowledge Source\*: Select vector store provider
     * Collection Name\*: Name of the collection to delete from
3. **Deletion Configuration**
   * Deletion Condition\*: Filter expression to identify records for deletion (depends on vector store provider, see below for more informations)
   * Continue on Failure: Toggle to control flow behavior on errors

#### Output Ports

* `success` (boolean): Indicates if deletion was successful
* `error_message` (string, optional): Error details if deletion failed

### Filtering example depending on vector store

**Milvus/Zilliz**

```sql
metadata["field"] == "value"
```

**Qdrant**

```json
{
  "must": [
    {"key": "metadata.field", "match": {"value": "exact_match"}}
  ]
}
```

**Chroma**

```json
{
  "field": {"$eq": "value"}
}
```

**Pinecone**

```json
{
  "field": {"$eq": "value"}
}
```

### Best Practices

1. **Filtering Expressions**
   * Use precise conditions to avoid unintended deletions
   * Test filters on small datasets first
   * Follow vector store-specific syntax guidelines
   * Use variables for dynamic filtering
2. **Error Handling**
   * Enable "Continue on Failure" for non-critical deletions
   * Plan for partial deletion scenarios

### Common Issues

* Invalid filter syntax
* Permission-related failures
* Connection timeouts during large deletions

### Vector Store Filter Documentation

Each vector store has its own filtering syntax. Refer to the respective documentation:

For vector store specific filter syntax, refer to:

* Milvus: [Filtering Documentation](https://milvus.io/docs/boolean.md)
* Zilliz: [Filtering Documentation](https://docs.zilliz.com/docs/filtering)
* Qdrant: [Filtering Documentation](https://qdrant.tech/documentation/concepts/filtering/)
* Chroma: [Where Filters Documentation](https://docs.trychroma.com/docs/querying-collections/metadata-filtering)
* Pinecone: [Metadata Filtering Guide](https://docs.pinecone.io/guides/data/filter-with-metadata#metadata-query-language)
