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)[来源]

基于 MongoDB 作为底层存储的 BaseStore 实现。

示例

创建 MongoDBStore 实例并对其实例进行操作

# Instantiate the MongoDBStore with a MongoDB connection
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")

# Set values for keys
doc1 = Document(...)
doc2 = Document(...)
mongodb_store.mset([("key1", doc1), ("key2", doc2)])

# Get values for keys
values = mongodb_store.mget(["key1", "key2"])
# [doc1, doc2]

# Iterate over keys
for key in mongodb_store.yield_keys():
    print(key)

# Delete keys
mongodb_store.mdelete(["key1", "key2"])

使用 MongoDB 连接字符串初始化 MongoDBStore。

参数
  • connection_string (str) – MongoDB 连接字符串

  • db_name (str) – 要使用的数据库名称

  • collection_name (str) – 要使用的集合名称

  • client_kwargs (dict) – 传递给 Mongo 客户端的关键字参数

方法

__init__(connection_string, db_name, ...[, ...])

使用 MongoDB 连接字符串初始化 MongoDBStore。

amdelete(keys)

异步删除给定的键及其相关值。

amget(keys)

异步获取与给定键关联的值。

amset(key_value_pairs)

异步设置给定键的值。

ayield_keys(*[, prefix])

异步获取与给定前缀匹配的键的迭代器。

mdelete(keys)

删除给定的 id。

mget(keys)

获取与给定键关联的文档列表。

mset(key_value_pairs)

设置给定的键值对。

yield_keys([prefix])

返回存储中的键。

__init__(connection_string: str, db_name: str, collection_name: str, *, client_kwargs: Optional[dict] = None) None[源代码]

使用 MongoDB 连接字符串初始化 MongoDBStore。

参数
  • connection_string (str) – MongoDB 连接字符串

  • db_name (str) – 要使用的数据库名称

  • collection_name (str) – 要使用的集合名称

  • client_kwargs (dict) – 传递给 Mongo 客户端的关键字参数

返回类型

None

async amdelete(keys: Sequence[K]) None

异步删除给定的键及其相关值。

参数

keys (Sequence[K]) – 要删除的键的序列。

返回类型

None

async amget(keys: Sequence[K]) List[Optional[V]]

异步获取与给定键关联的值。

参数

keys (Sequence[K]) – 键的序列。

返回

与键关联的可选值序列。如果找不到键,相应的值将为 None。

返回类型

List[Optional[V]]

async amset(key_value_pairs: Sequence[Tuple[K, V]]) None

异步设置给定键的值。

参数

key_value_pairs (Sequence[Tuple[K, V]]) – 键值对的序列。

返回类型

None

async ayield_keys(*, prefix: Optional[str] = None) Union[AsyncIterator[K], AsyncIterator[str]]

异步获取与给定前缀匹配的键的迭代器。

参数

prefix (str) – 要匹配的前缀。

生成

Iterator[K | str] – 返回与给定前缀匹配的键的迭代器。此方法可以返回K或str的迭代器,这取决于给定的存储方式是否更合理。

返回类型

Union[AsyncIterator[K], AsyncIterator[str]]

mdelete(keys: Sequence[str]) None[source]

删除给定的 id。

参数

keys (list[str]) – 表示文档ID的关键字列表。

返回类型

None

mget(keys: Sequence[str]) List[Optional[Document]][source]

获取与给定键关联的文档列表。

参数

keys (list[str]) – 表示文档ID的关键字列表。

返回

返回与提供的

关键字对应的文档列表,每个文档要么成功检索,如果没有找到则表示为None。

返回类型

list[Document]

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

设置给定的键值对。

参数

键值对 (列表[元组[字符串, Document]]) – 一个包含 id-文档对的列表。

返回

None

返回类型

None

yield_keys(prefix: Optional[字符串] = None) 迭代器[字符串][源代码]

返回存储中的键。

参数

prefix (字符串) – 要检索的键的前缀。

返回类型

迭代器[字符串]