Mongodb vector store driver
MongoDbAtlasVectorStoreDriver
Bases: BaseVectorStoreDriver
A Vector Store Driver for MongoDb Atlas.
Attributes:
Name | Type | Description |
---|---|---|
connection_string |
str
|
The connection string for the MongoDb Atlas cluster. |
database_name |
str
|
The name of the database to use. |
collection_name |
str
|
The name of the collection to use. |
client |
Optional[MongoClient]
|
An optional MongoDb client to use. Defaults to a new client using the connection string. |
Source code in griptape/griptape/drivers/vector/mongodb_vector_store_driver.py
11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 |
|
client: Optional[MongoClient] = field(default=Factory(lambda : import_optional_dependency('pymongo').MongoClient(self.connection_string), takes_self=True))
class-attribute
instance-attribute
collection_name: str = field(kw_only=True)
class-attribute
instance-attribute
connection_string: str = field(kw_only=True)
class-attribute
instance-attribute
database_name: str = field(kw_only=True)
class-attribute
instance-attribute
get_collection()
Returns the MongoDB Collection instance for the specified database and collection name.
load_entries(namespace=None)
Loads all document entries from the MongoDB collection.
Entries can optionally be filtered by namespace.
Source code in griptape/griptape/drivers/vector/mongodb_vector_store_driver.py
load_entry(vector_id, namespace=None)
Loads a document entry from the MongoDB collection based on the vector ID.
Returns:
Type | Description |
---|---|
Optional[Entry]
|
The loaded Entry if found; otherwise, None is returned. |
Source code in griptape/griptape/drivers/vector/mongodb_vector_store_driver.py
query(query, count=None, namespace=None, include_vectors=False, offset=0, index=None, **kwargs)
Queries the MongoDB collection for documents that match the provided query string.
Results can be customized based on parameters like count, namespace, inclusion of vectors, offset, and index.
Source code in griptape/griptape/drivers/vector/mongodb_vector_store_driver.py
upsert_vector(vector, vector_id=None, namespace=None, meta=None, **kwargs)
Inserts or updates a vector in the collection.
If a vector with the given vector ID already exists, it is updated; otherwise, a new vector is inserted.