Docs 菜单

Docs 主页开发应用程序MongoDB Manual

Mongo.startSession()

在此页面上

  • 定义
  • 兼容性
  • 举例
Mongo.startSession(<options>)

为连接启动会话 mongosh将会话 ID 分配给与会话关联的命令。

重要

mongosh 方法

本页介绍了mongosh方法。这不是数据库命令或特定语言驱动程序(例如 Node.js)的文档。

有关数据库命令,请参阅 startSession 命令。

对于 MongoDB API 驱动程序,请参阅特定语言的MongoDB 驱动程序文档。

对于传统 mongo Shell 文档,请参阅相应 MongoDB Server 版本的文档:

mongo shell v4.4

会话只能与创建会话的MongoClient对象一起使用。不能同时使用单个会话。使用单个会话的操作必须按顺序运行。

startSession()方法可以获取带有会话选项的文档。可用的选项有:

字段
说明
因果一致性(Causal Consistency)

布尔值。启用或禁用会话的因果一致性Mongo.startSession()默认启用causalConsistency 。与snapshot互斥。

启动会话后,无法修改其 causalConsistency 设置。

注意

即使 Mongo() 连接对象禁用了因果一致性,会话仍可能启用了因果一致性,反之亦然。要设置连接对象的因果一致性,请参见 Mongo.setCausalConsistency()

readConcern

文档。指定读关注

要在启动会话后修改设置,请参阅 Session.getOptions().setReadConcern()

readPreference

文档。指定读取偏好

readPreference 文档包含 mode 字段和可选的 tags 字段:

{ mode: <string>, tags: <array> }

要在启动会话后修改设置,请参阅 Session.getOptions().setReadPreference()

retryWrites

布尔值。启用或禁用遇到瞬时网络错误时重试写入的功能。

如果使用 选项启动mongosh --retryWrites,则默认情况下为retryWrites Mongo.startSession()启用 。

启动会话后,无法修改其 retryWrites 设置。

snapshot
布尔值。为 MongoDB 5的会话启用快照读取。 0 + 部署。与causalConsistency互斥。
writeConcern

文档。指定写关注

要在启动会话后修改设置,请参阅 Session.getOptions().setWriteConcern()

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

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

注意

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

以下示例在与Mongo() mongosh的全局db 变量关联的 连接对象上启动一个具有因果一致性和可重试写入功能的会话:

db = db.getMongo().startSession({retryWrites: true, causalConsistency: true}).getDatabase(db.getName());
← Mongo.setReadPref()

在此页面上