本页介绍如何通过 MongoDB Shell (mongosh) 连接到联合数据库实例。
先决条件
映射到一个或多个数据存储的联合数据库实例。
注意
如果您的部分或全部数据来自Atlas 集群,则必须为该集群使用MongoDB 5.0 或更高版本才能利用 MongoSQL。
步骤
在 Atlas 中,转到项目的联合数据库实例。
如果尚未显示,请选择包含您的项目的组织导航栏中的 Organizations菜单。
如果尚未显示,请从导航栏的 Projects 菜单中选择您的项目。
在侧边栏中,单击 Services 标题下的 Data Federation。
显示Data Federation 页面。
安装 MongoDB Shell(如果尚未安装)。
如果您没有安装 MongoDB Shell:
在连接模态框中选择 I do not have the MongoDB Shell installed。
从模式下拉菜单中选择操作系统。
请按照模态中提供的适用于您的操作系统的安装说明进行操作。
(可选)确认
mongosh安装成功。要检查安装是否成功,请在终端中运行:
mongosh --version 如果安装成功,
mongosh将显示版本。
如果已安装 MongoDB Shell:
在连接模态框中选择 I have the MongoDB Shell installed。
从模态框下拉菜单中选择
mongosh。注意
MongoDB Shell 或
mongosh与模式下拉菜单中的mongo版本是分开的。如果要确保已安装
mongosh,请在终端中运行:mongosh --version 如果安装了
mongosh,则会显示版本。
选择身份验证方法。
身份验证方法取决于数据库访问的配置方式。要了解有关数据库访问的更多信息,请参阅 配置数据库用户。
您可以选择:
Password (SCRAM),或
X.509.
Atlas Data Federation 可为身份验证方法提供连接字符串。
聚合事务语法和简式事务语法
MongoSQL 支持用于构建SQL查询的聚合管道阶段语法和短格式语法。您可以使用其中任何一种语法在MongoDB Shell中写入查询。
聚合管道阶段事务语法
您可以使用 $sql聚合管道阶段写入MongoSQL 查询。有关必须提供给 $sql 的属性列表,请参阅 $sql。
以下示例使用 $sql 语法执行 MongoSQL声明select * from Users limit 2:
db.aggregate( [ { $sql: { statement: "SELECT * FROM users LIMIT 2", format: "jdbc", dialect: "mongosql" } } ] )
注意
MongoSQL 使用 mongosql 方言。
简短形式语法
您可以使用简短语法 db.sql 直接提供 MongoSQL声明。
重要
简短形式语法并不稳定,将来可能会发生变化。
db.sql(` SELECT * FROM users LIMIT 2 `);