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]]

mset(key_value_pairs: Sequence[Tuple[str, Document]]) None[source]

设置给定的键值对。

参数:

key_value_pairs (list[tuple[str, Document]]): 一个id-document对的列表。

返回:

None

Parameters

key_value_pairs (Sequence[Tuple[str, Document]]) –

Return type

None

yield_keys(prefix: Optional[str] = None) Iterator[str][source]

在存储中生成键。

参数:

prefix (str): 要检索的键的前缀。

Parameters

prefix (Optional[str]) –

Return type

Iterator[str]