对于 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()不支持读取偏好的“读取偏好(read preference)” 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 将使用任何符合条件的从节点。

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

给本页内容打分

在此页面上