对于 AI 代理:可在 https://www.mongodb.com/zh-cn/docs/llms.txt 获取文档索引—通过在任何 URL 路径后添加 .md 可获取所有页面的 Markdown 版本。
Docs 菜单

游标.readPref()(mongosh方法)

cursor.readPref(mode, tagSet)

重要

mongosh 方法

本页面提供 mongosh 方法的相关信息。这不是 特定于语言的驱动程序(例如 Node.js)的文档。

如需了解 MongoDB API 驱动程序,请参阅特定语言的 MongoDB 驱动程序文档。

readPref()附加到游标以控制客户端如何将查询路由到副本集的成员。

注意

在从数据库检索任何文档之前,必须对游标应用 readPref()

Parameter
类型
说明

字符串

文档数组

可选。 用于将读取定位到具有指定标签的成员的标签集。 如果使用primarytagSet不可用。

有关详细信息,请参阅读取偏好(read preference)标签集列表。

readPref() 不支持读取偏好的读取偏好 maxStalenessSeconds 选项。

此方法可用于以下环境中托管的部署:

  • MongoDB Atlas:用于云中 MongoDB 部署的完全托管服务

注意

所有 MongoDB Atlas 集群都支持此命令。有关 Atlas 对所有命令的支持的信息,请参阅不支持的命令

以下操作使用读取偏好模式将读取定位到从节点成员。

db.collection.find({ }).readPref( "secondary")

要以特定标签定位从节点,请包含模式tagSet 数组:

db.collection.find({ }).readPref(
"secondary",
[
{ "datacenter": "B" }, // First, try matching by the datacenter tag
{ "region": "West"}, // If not found, then try matching by the region tag
{ } // If not found, then use the empty document to match all eligible members
]
)

在从节点选择过程中,MongoDB 会尝试首先找到带有datacenter: "B"标签的从节点。

  • 如果找到,MongoDB 会将符合条件的从节点限制为带有datacenter: "B"标签的从节点,并忽略其余标签。

  • 如果未找到,MongoDB 会尝试查找带有"region": "West"标签的从节点。

    • 如果找到,MongoDB 会将符合条件的从节点限制为带有"region": "West"标签的从节点。

    • 如果未找到,MongoDB 将使用任何符合条件的从节点。

有关详细信息,请参阅标签匹配顺序

在此页面上