Skip to content

AzureCosmosDBMongoDBVectorStore

Defined in: .build/typescript/packages/providers/storage/azure/src/vectorStore/AzureCosmosDBMongoVectorStore.ts:76

Azure Cosmos DB for MongoDB vCore vector store. To use this, you should have both:

  • the mongodb NPM package installed
  • a connection string associated with a MongoDB VCore Cluster

You do not need to create a database or collection, it will be created automatically.

You also need an index on the collection, which is by default be created automatically using the createIndex method.

  • BaseVectorStore

new AzureCosmosDBMongoDBVectorStore(init): AzureCosmosDBMongoDBVectorStore

Defined in: .build/typescript/packages/providers/storage/azure/src/vectorStore/AzureCosmosDBMongoVectorStore.ts:107

Partial<AzureCosmosDBMongoDBVectorStore> & object & VectorStoreBaseParams

AzureCosmosDBMongoDBVectorStore

BaseVectorStore.constructor

storesText: boolean = true

Defined in: .build/typescript/packages/providers/storage/azure/src/vectorStore/AzureCosmosDBMongoVectorStore.ts:77

BaseVectorStore.storesText


flatMetadata: boolean = true

Defined in: .build/typescript/packages/providers/storage/azure/src/vectorStore/AzureCosmosDBMongoVectorStore.ts:78


dbName: string

Defined in: .build/typescript/packages/providers/storage/azure/src/vectorStore/AzureCosmosDBMongoVectorStore.ts:80


collectionName: string

Defined in: .build/typescript/packages/providers/storage/azure/src/vectorStore/AzureCosmosDBMongoVectorStore.ts:82


indexedMetadataFields: string[]

Defined in: .build/typescript/packages/providers/storage/azure/src/vectorStore/AzureCosmosDBMongoVectorStore.ts:84


mongodbClient: MongoClient

Defined in: .build/typescript/packages/providers/storage/azure/src/vectorStore/AzureCosmosDBMongoVectorStore.ts:89

The used MongoClient. If not given, a new MongoClient is created based on the MONGODB_URI env variable.


indexName: string

Defined in: .build/typescript/packages/providers/storage/azure/src/vectorStore/AzureCosmosDBMongoVectorStore.ts:91


embeddingKey: string

Defined in: .build/typescript/packages/providers/storage/azure/src/vectorStore/AzureCosmosDBMongoVectorStore.ts:93


idKey: string

Defined in: .build/typescript/packages/providers/storage/azure/src/vectorStore/AzureCosmosDBMongoVectorStore.ts:95


textKey: string

Defined in: .build/typescript/packages/providers/storage/azure/src/vectorStore/AzureCosmosDBMongoVectorStore.ts:97


metadataKey: string

Defined in: .build/typescript/packages/providers/storage/azure/src/vectorStore/AzureCosmosDBMongoVectorStore.ts:99


indexOptions: AzureCosmosDBMongoDBIndexOptions

Defined in: .build/typescript/packages/providers/storage/azure/src/vectorStore/AzureCosmosDBMongoVectorStore.ts:101

client(): MongoClient

Defined in: .build/typescript/packages/providers/storage/azure/src/vectorStore/AzureCosmosDBMongoVectorStore.ts:145

MongoClient

BaseVectorStore.client


ensureCollection(): Promise<Collection<Document>>

Defined in: .build/typescript/packages/providers/storage/azure/src/vectorStore/AzureCosmosDBMongoVectorStore.ts:149

Promise<Collection<Document>>


add(nodes): Promise<string[]>

Defined in: .build/typescript/packages/providers/storage/azure/src/vectorStore/AzureCosmosDBMongoVectorStore.ts:161

BaseNode<Metadata>[]

Promise<string[]>

BaseVectorStore.add


delete(id, deleteOptions?): Promise<void>

Defined in: .build/typescript/packages/providers/storage/azure/src/vectorStore/AzureCosmosDBMongoVectorStore.ts:199

Removes specified documents from the AzureCosmosDBMongoDBVectorStore.

string

object

Promise<void>

A promise that resolves when the documents have been removed.

BaseVectorStore.delete


query(query, options): Promise<VectorStoreQueryResult>

Defined in: .build/typescript/packages/providers/storage/azure/src/vectorStore/AzureCosmosDBMongoVectorStore.ts:209

VectorStoreQuery

AzureCosmosDBMongoDBQueryOptions

Promise<VectorStoreQueryResult>

BaseVectorStore.query


createIndex(dimensions, indexType, similarity): Promise<void>

Defined in: .build/typescript/packages/providers/storage/azure/src/vectorStore/AzureCosmosDBMongoVectorStore.ts:288

Creates an index on the collection with the specified index name during instance construction.

Setting the numLists parameter correctly is important for achieving good accuracy and performance. Since the vector store uses IVF as the indexing strategy, you should create the index only after you have loaded a large enough sample documents to ensure that the centroids for the respective buckets are faily distributed.

As for the compression, the following options are available:

Number of dimensions for vector similarity. The maximum number of supported dimensions is 2000. If no number is provided, it will be determined automatically by embedding a short text.

undefined | number

Index Type for Mongo vCore index.

"ivf" | "hnsw" | "diskann"

AzureCosmosDBMongoDBSimilarityType = AzureCosmosDBMongoDBSimilarityType.COS

Similarity metric to use with the IVF index. Possible options are:

  • CosmosDBSimilarityType.COS (cosine distance)
  • CosmosDBSimilarityType.L2 (Euclidean distance)
  • CosmosDBSimilarityType.IP (inner product)

Promise<void>

A promise that resolves when the index has been created.


checkIndexExists(): Promise<boolean>

Defined in: .build/typescript/packages/providers/storage/azure/src/vectorStore/AzureCosmosDBMongoVectorStore.ts:353

Checks if the specified index name during instance construction exists on the collection.

Promise<boolean>

A promise that resolves to a boolean indicating if the index exists.


deleteIndex(indexName): Promise<void>

Defined in: .build/typescript/packages/providers/storage/azure/src/vectorStore/AzureCosmosDBMongoVectorStore.ts:363

Deletes the index specified during instance construction if it exists.

string

Promise<void>

A promise that resolves when the index has been deleted.