langchain_community.storage.mongodb
.MongoDBStore¶
- class langchain_community.storage.mongodb.MongoDBStore(connection_string: str, db_name: str, collection_name: str, *, client_kwargs: Optional[dict] = None)[source]¶
使用MongoDB作为底层存储的BaseStore实现。
- 示例:
创建一个MongoDBStore实例并对其执行操作:
# 使用MongoDB连接实例化MongoDBStore from langchain.storage import MongoDBStore mongo_conn_str = "mongodb://localhost:27017/" mongodb_store = MongoDBStore(mongo_conn_str, db_name="test-db", collection_name="test-collection") # 为键设置值 doc1 = Document(...) doc2 = Document(...) mongodb_store.mset([("key1", doc1), ("key2", doc2)]) # 获取键的值 values = mongodb_store.mget(["key1", "key2"]) # [doc1, doc2] # 遍历键 for key in mongodb_store.yield_keys(): print(key) # 删除键 mongodb_store.mdelete(["key1", "key2"])
使用MongoDB连接字符串初始化MongoDBStore。
- 参数:
connection_string(str):MongoDB连接字符串 db_name(str):要使用的名称 collection_name(str):要使用的集合名称 client_kwargs(dict):要传递给Mongo客户端的关键字参数
Methods
__init__
(connection_string, db_name, ...[, ...])使用MongoDB连接字符串初始化MongoDBStore。
amdelete
(keys)删除给定的键及其关联的值。
amget
(keys)获取与给定键相关联的值。
amset
(key_value_pairs)设置给定键的值。
ayield_keys
(*[, prefix])获取与给定前缀匹配的键的迭代器。
mdelete
(keys)删除给定的ids。
mget
(keys)获取与给定键相关联的文档列表。
mset
(key_value_pairs)设置给定的键值对。
yield_keys
([prefix])在存储中生成键。
- Parameters
connection_string (str) –
db_name (str) –
collection_name (str) –
client_kwargs (Optional[dict]) –
- Return type
None
- __init__(connection_string: str, db_name: str, collection_name: str, *, client_kwargs: Optional[dict] = None) None [source]¶
使用MongoDB连接字符串初始化MongoDBStore。
- 参数:
connection_string(str):MongoDB连接字符串 db_name(str):要使用的名称 collection_name(str):要使用的集合名称 client_kwargs(dict):要传递给Mongo客户端的关键字参数
- Parameters
connection_string (str) –
db_name (str) –
collection_name (str) –
client_kwargs (Optional[dict]) –
- Return type
None
- async amdelete(keys: Sequence[K]) None ¶
删除给定的键及其关联的值。
- 参数:
keys(Sequence[K]):要删除的键的序列。
- Parameters
keys (Sequence[K]) –
- Return type
None
- async amget(keys: Sequence[K]) List[Optional[V]] ¶
获取与给定键相关联的值。
- 参数:
keys(Sequence[K]):键的序列。
- 返回:
与键相关联的可选值序列。 如果未找到键,则相应的值将为None。
- Parameters
keys (Sequence[K]) –
- Return type
List[Optional[V]]
- async amset(key_value_pairs: Sequence[Tuple[K, V]]) None ¶
设置给定键的值。
- 参数:
key_value_pairs(Sequence[Tuple[K,V]]):键值对的序列。
- Parameters
key_value_pairs (Sequence[Tuple[K, V]]) –
- Return type
None
- async ayield_keys(*, prefix: Optional[str] = None) Union[AsyncIterator[K], AsyncIterator[str]] ¶
获取与给定前缀匹配的键的迭代器。
- 参数:
prefix(str):要匹配的前缀。
- 返回:
Iterator[K | str]:一个迭代器,用于匹配给定前缀的键。
该方法允许返回一个K或str类型的迭代器,具体取决于给定存储的情况。
- Parameters
prefix (Optional[str]) –
- Return type
Union[AsyncIterator[K], AsyncIterator[str]]
- mdelete(keys: Sequence[str]) None [source]¶
删除给定的ids。
- 参数:
keys(list[str]):表示文档ID的键列表。
- Parameters
keys (Sequence[str]) –
- Return type
None
- mget(keys: Sequence[str]) List[Optional[Document]] [source]¶
获取与给定键相关联的文档列表。
- 参数:
keys(list[str]):表示文档ID的键列表。
- 返回:
list[Document]:与提供的键对应的文档列表,其中每个文档如果成功检索则为实际文档,如果未找到则表示为None。
- Parameters
keys (Sequence[str]) –
- Return type
List[Optional[Document]]