deleteSegment method
Implementation
@override
Future<void> deleteSegment(String collectionName, String segmentId) async {
try {
Collection collection = await client.getCollection(name: collectionName);//, embeddingFunction: embeddingFunction);
await collection.delete(ids: [segmentId]);
Map<String, dynamic> metadata = Map<String, dynamic>.from(collection.metadata!);
List<String> segmentIdOrder = (jsonDecode(metadata[segmentIdOrderKey]) as List<dynamic>).map((segmentId)=> (segmentId as String)).toList();
segmentIdOrder.remove(segmentId);
metadata[segmentIdOrderKey] = jsonEncode(segmentIdOrder);
await collection.modify(name: collectionName, metadata: metadata);
} on ChromaApiClientException catch(e) {
VectorDatabaseException vdbException = VectorDatabaseException(
code: e.code??500,
message: e.message + ": " + (e.body is String ? (e.body as String) : e.body.toString())
);
throw vdbException;
}
}