Docs 菜单
Docs 主页
/
MongoDB for VS Code

连接 MongoDB 部署

在此页面上

  • Considerations
  • 创建连接
  • 连接到 Atlas Stream Processing
  • 激活连接
  • 编辑连接
  • 复制连接
  • 重命名连接
  • 断开与部署的连接
  • 删除连接

本页概述如何使用 MongoDB for VS Code 扩展连接到 MongoDB 主机。您可以连接到独立运行主机、副本集主机或分片集群主机。

注意

MongoDB Atlas

如果您需要创建 MongoDB 主机,请考虑使用 MongoDB Atlas 。Atlas 是云托管数据库服务,无需安装,即可提供免费入门套餐和可复制的 URI,轻松将 VS Code 扩展连接部署。

要在 Atlas 免费套餐上创建集群,请在 Visual Studio Code Command Palette 中运行命令 MongoDB: Open Overview Page ,然后单击 Create free cluster

要使用 VS Code 扩展中包含的 Terraform 模板创建 Atlas 集群,请参阅 使用 Terraform 从模板创建 Atlas 集群。

如果需要安装 VS Code 扩展,请参阅安装 MongoDB for VS Code 扩展,了解相关说明。

  • 将 VS Code 扩展连接到副本集时,请在填写连接信息时使用副本集 SRV recordReplica Set Name。不建议直接连接到单个副本集成员。

    • 如果您所连接的节点因选举而从主节点转换为从节点,或从从节点转换为主节点,VS Code 扩展可能会强行关闭连接或显示过时的数据。

  • 您无法将 VS Code 扩展直接连接到分析节点。

  • VS Code 扩展为所有部署连接附加 appName 连接字符串选项,其值为 mongodb-vscode <version>

VS Code 扩展提供了两个连接到部署的选项:

连接方法
说明
Connect with Connection String
这种方法比使用高级连接设置更快、更简单。如果您的部署托管在 Atlas 上,或者您已具有部署的连接字符串,请使用该选项。
Advanced Connection Settings
该方法允许您使用表单构建连接字符串。如果您需要自定义连接字符串,并希望查看可用的连接选项,请使用该选项。

注意

要指定 VS Code 扩展连接的保存位置,请使用Default Connection Saving Location设置。

当您提供连接字符串时,VS Code 扩展支持 MongoDB 所支持的大多数连接字符串选项

1

您可以使用标准连接字符串格式 DNS 种子列表连接格式。

  • 要获取 Atlas 集群的连接字符串:

    1. 前往 Atlas Clusters(集群)视图。

    2. 点击所需集群的 Connect(连接)。

    3. 单击 Connect with MongoDB Compass(连接)。

    4. 复制提供的连接字符串。

  • 要了解如何为未托管在 Atlas 上的部署格式化连接字符串,请参阅连接字符串 URI 格式

2

打开 Visual Studio Code 命令面板,粘贴连接字符串并连接到集群。可以通过以下方式之一打开命令面板:

  1. 从 VSCode 的左侧菜单栏中选择 MongoDB 图标。

    VSCode 侧边栏菜单图像。
    点击放大
  2. 如果左侧导航栏中的 Connections(连接)窗格已折叠,请将其展开。

    显示 Connections(连接)窗格的图像
    点击放大
  3. 单击 More Actions 菜单 (...),然后选择 Add MongoDB Connection with Connection String...

    选择使用连接字符串添加连接
    点击放大
  1. 请根据操作系统和方法执行下表所述操作:

    操作系统
    方法
    操作
    Any
    Visual Studio Code 菜单
    View > Command Palette
    macOS
    键盘快捷键
    Command + Shift + P
    Windows 和 Linux
    键盘快捷键
    Control + Shift + P
  2. 从命令面板中,选择 MongoDB: Open Overview Page

    提示

    在命令面板中输入mongodb以显示可以使用的所有VS Code扩展命令。

  3. 概览页面中,单击 Connect with Connection String 下的 Connect

  1. 请根据操作系统和方法执行下表所述操作:

    操作系统
    方法
    操作
    Any
    Visual Studio Code 菜单
    View > Command Palette
    macOS
    键盘快捷键
    Command + Shift + P
    Windows 和 Linux
    键盘快捷键
    Control + Shift + P
  2. 从命令面板中,选择 MongoDB: Connect with Connection String...

    提示

    在命令面板中输入mongodb以显示可以使用的所有VS Code扩展命令。

3

重要

如果部署需要身份验证,请确保使用部署的数据库用户的档案更新连接字符串。如果没有这些档案,连接可能会成功,但您将无法与部署中的数据进行交互。

4
1
VSCode 侧边栏菜单图像。
点击放大
2

您可以使用 MongoDB 视图或命令面板来打开概览页面:

  1. 如果左侧导航栏中的 Connections(连接)窗格已折叠,请将其展开。

    显示 Connections(连接)窗格的图像
    点击放大
  2. 单击 More Actions 菜单 (...),然后单击 Add MongoDB Connection 打开 VS Code 扩展概述页面。

    显示连接窗格点的图像
    点击放大
  1. 请根据操作系统和方法执行下表所述操作:

    操作系统
    方法
    操作
    Any
    Visual Studio Code 菜单
    View > Command Palette
    macOS
    键盘快捷键
    Command + Shift + P
    Windows 和 Linux
    键盘快捷键
    Control + Shift + P
  2. 从命令面板中,选择 MongoDB: Open Overview Page

    提示

    在命令面板中输入mongodb以显示可以使用的所有VS Code扩展命令。

3

概览页面中,单击 Advanced Connection Settings 下的 Open form

显示连接窗格屏幕的图像
点击放大
4

重要

VS Code 扩展支持以下连接选项:

  • CSFLE 正在使用的加密

  • Kerberos 身份验证

General 标签页包含以下选项:

选项
说明
Connection Type

连接类型。从标签页中选择连接类型,获取定义该连接类型的具体说明:

对于独立运行的实例,请指定以下内容:

  • Hostname 正在运行部署的机器。

    如果您在本地运行部署,则该值为 localhost。如果您正在连接到 Atlas 集群,则可以从 Atlas 中的集群详细信息视图中获取主机名。

    如果您不确定主机名,请联系数据库管理员以获取信息。

  • Port 部署正在运行的

    默认情况下,独立运行的实例在端口 27017 上运行。有关 MongoDB 运行的默认端口的更多信息,请参阅默认 MongoDB 端口

    如果不确定部署运行的端口,请联系数据库管理员以获取信息。

单击,指定其他主机名和相关端口。

对于副本集,请指定以下内容:

  • Hostname 正在运行部署的机器。

    如果您在本地运行部署,则该值为 localhost。如果您正在连接到 Atlas 集群,则可以从 Atlas 中的集群详细信息视图中获取主机名。

    如果您不确定主机名,请联系数据库管理员以获取信息。

  • Port 部署正在运行的

    有关 MongoDB 运行的默认端口的信息,请参阅默认 MongoDB 端口

    如果不确定部署运行的端口,请联系数据库管理员以获取信息。

  • 可选副本集配置中指定的 Replica Set Name

单击,指定其他主机名和相关端口。

对于 SRV 记录,请指定 Hostname。您不需要指定端口。

SRV 连接字符串的前缀为 mongodb+srv:。如果您使用的是 SRV 连接字符串,则无需在 Hostname 中包含 mongodb+srv

例如:

如果以下是 MongoDB 部署的 SRV 连接字符串:

mongodb+srv://<username>:<password>@gettingstarted-7q2cs.mongodb.net/test

然后,在 VS Code 扩展中,您可以将 Hostname 指定为:

gettingstarted-7q2cs.mongodb.net
Authentication

如果部署需要身份验证,则使用身份验证。Atlas 集群使用 Username / Password 身份验证。

选择身份验证方法以获取具体说明:

如果部署使用 MongoDB-CR、SCRAM-SHA-1SCRAM-SHA-256 作为身份验证机制,请选择 Username / Password

提供 UsernamePassword身份验证数据库以对用户进行身份验证。

如果部署使用 OpenID Connect 作为身份验证机制,请选择 OIDC

提供以下信息:

字段
说明
用户名
可选。OpenID Connect 用户名。
身份验证代码流重定向 URI
可选。指定身份提供商在身份验证后将你重定向的 URI。URI 必须与身份提供者的配置匹配。默认为 http://localhost:27097/redirect
Consider Target Endpoint Trusted(考虑受信任的目标端点)
可选。允许连接到默认情况下不在视为可信端点列表中的目标端点。仅在连接到你信任的服务器时使用此选项。
Enable Device Authentication Flow(启用设备身份验证流程)
可选。启用 Show Device Auth Flow Checkbox 设置后,Visual Studio Code 可为您提供 URL 和代码以完成身份验证。

这是一种安全性较低的身份验证流程,并可在基于浏览器的身份验证不可用时用作后备方案。

如果部署使用 X.509 作为其身份验证机制,请选择 X.509。如果选中,则必须提供 Username 以对用户进行身份验证。

如果您使用的是 Atlas 托管证书 ,则根据 RFC2253 ,您的用户名必须以 "CN=" 开头 。示例,用户名“X509 User”必须提供为“CN=X509 User”。

如果部署使用 LDAP 作为身份验证机制,请选择 LDAP。如果选中,则必须提供 UsernamePassword 以对用户进行身份验证。

如果部署使用 AWS IAM 作为其身份验证机制,请选择 AWS IAM。

字段
必要性
说明
AWS 访问密钥 id
必需
与您的 AWS 帐户关联的唯一标识符。
AWS 秘密访问密钥
Optional
与访问密钥 ID 关联的长期凭证。
AWS Session Token
Optional
AWS Security Token Service (STS) 返回的临时安全凭证。

如果要使用 TLS/SSL 或 SSH 隧道连接到部署,请参阅以下标签页以获取具体说明:

此选项指示 VS Code 扩展通过 TLS/SSL 连接到您的 MongoDB 部署。您可以选择以下 SSL 选项之一:

选项
说明
System CA/Atlas Deployment
连接到 MongoDB Atlas
Server Validation

VS Code 扩展会验证部署的身份。如果选中,您必须提供:

Certificate Authority
来自受信任证书颁发机构的一个或多个证书文件,用于验证由部署提供的证书。
Server and Client Validation

部署从其客户端执行证书验证,并且 VS Code 扩展验证部署的身份。如果选中,您必须提供:

Certificate Authority File
来自受信任证书颁发机构的一个或多个证书文件,用于验证由部署提供的证书。
Client Certificate
提交给部署的 TLS/SSL 证书,用于验证连接客户端的身份。证书的典型文件扩展名为 .crt.pem
Client Private Key
部署的 TLS/SSL 密钥文件,用于验证连接客户端的身份。私钥的典型文件扩展名为 .key.pem
Client Key Password
如果客户端私钥受密码/口令保护,则必须提供密码/口令。
Unvalidated (Insecure)
使用 TLS/SSL,无需任何身份验证。

提示

对于生产用途,MongoDB 部署应使用由单个证书颁发机构生成和签名的有效证书。您可以生成并维护独立的证书颁发机构,或使用第三方 TLS/SSL 供应商生成的证书。

此选项指示 VS Code 扩展通过 SSH 隧道连接到您的 MongoDB 部署。当您连接到 MongoDB 时隧道会自动启动,当您断开连接时隧道会自动停止。

SSH Tunnel 下拉列表中,选择密码或身份文件以提供身份验证。选择识别方法后,请指定以下选项:

SSH Hostname
输入 bastion (jumpbox) 主机名。这是计算机要访问的唯一标识符(完全限定的域名或 FQDN)。
SSH Tunnel Port
提供用于 SSH 连接的端口。默认为 22,即 SSH 的标准端口。
SSH Username
用于登录远程系统的配置文件的用户名。这是您要为其建立 SSH 连接的用户。
SSH Identity File

选择要读取 SSH 公钥身份验证所用身份(私钥)的文件。

Unix 或 OS X:如果使用 OpenSSH,可在 ~/.ssh 目录中找到身份文件。默认情况下,私钥文件具有以下文件名之一:

  • id_dsa

  • id_ecdsa

  • id_ed25519

  • id_rsa

在 Windows 上,身份文件的位置取决于您所选择的 SSH 客户端,如 PuTTY。

SSH Passphrase
如果私钥已加密,请提供用于解密私钥的密码(存储在指定的身份文件中)。密码为 SSH 连接提供额外的安全层。
SSH Password
用于保护 SSH 连接的密码。如果不使用身份文件,则这是必需的。

要通过堡垒主机使用 SSH 隧道,堡垒主机上的 SSH 配置必须允许 TCP 端口转发;即,/etc/ssh/sshd_config 文件中的 AllowTcpForwarding 指令设置为 yes。如果 AllowTcpForwarding 未设置为 yes,请将其设置为 yes 并重新启动 SSH守护进程(sudo service sshd restart)。

您也可以通过命令行手动创建 SSH 隧道,而不是使用 VS Code 扩展:

ssh -L <local_port>:<mongodb_hostname>:<mongodb_port> \
<user>@<bastion_hostname> -fN

例子

如果您在端口 27017 的 hostname-a.com 上运行部署,并且堡垒主机为 hostname-b.com,用户名为 ec2-user,则可以通过以下方式构建隧道

ssh -L 27000:hostname-a.com:27017 ec2-user@hostname-b.com -fN

使用此 SSH 通道,现在就可以将 VS Code 扩展(或 mongo shell)连接到 localhost:27000, 以连接在 hostname-a.com 上运行的部署。

注意

您无法通过 SSH 隧道连接到副本集。VS Code 扩展无法通过同一 SSH 隧道与多个服务器建立连接。

5

您可以选择 Read Preference,它指定 VS Code 扩展如何指示读取操作:

读取偏好模式
说明
Primary
默认模式。从当前副本集主节点读取的所有操作。
Primary Preferred
在大多数情况下,操作将从主节点读取,但如果主节点不可用,则操作将从从节点成员读取。
Secondary
所有操作均会从副本集的从节点中读取。
Secondary Preferred
在大多数情况下,操作将从从节点读取,但如果从节点不可用,则操作将从主节点读取。
Nearest
从副本集节点读取的操作,无论节点类型如何,网络延迟都最小。

如果省略,则默认值为 Primary。要了解有关读取偏好的更多信息,请参阅读取偏好

您可以使用以下选项指定其他 MongoDB 连接行为:

字段
说明
ReplicaSetName
(可选)副本集的名称。
默认身份验证数据库
(可选)未指定 authSource 时使用的身份验证数据库。有关更多信息,请参阅身份验证选项
URI 选项
用于自定义连接的其他选项。您将这些选项指定为键值对,Visual Studio Code 会自动将键值对添加到连接字符串。有关更多信息,请参阅连接字符串选项
6

1.50 版本的新增功能

您可以提供 Stream Processing 接口 (SPI) 连接字符串,以使用 VS Code 扩展连接到 Atlas Stream Processing

有关如何配置 Atlas Stream Processing 的详细信息,请参阅管理 Stream Processing 实例

1
  1. 如果左侧导航栏中的 Connections(连接)窗格已折叠,请将其展开。

  2. 单击 More Actions(更多操作)菜单 (...),然后选择 Add MongoDB Connection with Connection String...

2

要获取 SPI 连接字符串,请登录到您的 Atlas 帐户。单击左侧导航栏中的 Stream Processing,然后选择一个 Stream Processing 实例。单击 Connect(连接),然后从连接对话框的 Choose a Connection Method(选择连接方法)页面中选择 MongoDB for VSCode

提示

有关使用和配置 Atlas Stream Processing 的完整详细信息,请参阅 Atlas Stream Processing 概述

以下代码块是一个 SPI 连接字符串示例:

mongodb://user1:password1@atlas-stream-xxxxxxxxxxxxxxxxxxxxxxxx-yyyyy.virginia-usa.a.query.mongodb.net/?authSource=admin&readPreference=primary&ssl=true&directConnection=true

在连接后,流连接将显示在 Connections(连接)窗格下面:

流连接图像
点击放大
3

在成功连接到 Atlas Stream 后,单击 Playgrounds 窗格上的 Create New Playground(创建新的 Playground)。将显示预填充代码的 Stream Processing Playground 模板,这些代码用于列出流连接和处理流数据:

Stream Processing 模板图像
点击放大

您一次只能将 VS Code 扩展连接到一个部署。要将活动连接更改为其他部署,或要连接到已断开连接的部署,请执行以下操作:

1
VSCode 侧边栏菜单图像。
点击放大
2

您可以将 MongoDB Shell 或旧版 mongo shell 连接到活动部署。

  • VS Code 扩展用于连接到部署的 shell 由扩展设置中的 Shell 设置确定。您可以选择 MongoDB Shell 或旧版 mongo shell。

  • 所选 Shell 的路径必须存在于系统的 PATH 中。如果它不存在于 PATH 中,则操作出错。

要将 Shell 连接到活动部署,请执行以下操作:

  1. 在 VS Code 扩展 Connections 列表中,右键单击活动部署。

  2. 选择 Launch MongoDB Shell

VS Code 扩展在 VS Code 中打开 Terminal 窗口,并启动连接到所选部署的 shell。

1
VSCode 侧边栏菜单图像。
点击放大
2

如果左侧导航栏中的 Connections(连接)窗格已折叠,请将其展开。

显示 Connections(连接)窗格的图像
点击放大
3

Connections(连接)菜单中,右键单击连接,然后选择 Edit Connection...(编辑连接...)。

4

单击 Advanced Connection Options(高级连接选项)以显示高级连接表单。

提示

您也可以单击表单右上角的 Edit Connection String(编辑连接字符串)开关,以直接编辑连接字符串 URI。

在编辑完连接选项后,单击 Save & Connect(保存并连接)。

您可以从现有的 Visual Studio Code 连接中复制连接字符串。

1
VSCode 侧边栏菜单图像。
点击放大
2

如果左侧导航栏中的 Connections(连接)窗格已折叠,请将其展开。

显示 Connections(连接)窗格的图像
点击放大
3

Connections(连接)菜单中,右键单击连接并选择 Copy Connection String(复制连接字符串)。

连接字符串将复制到剪贴板中。

要在 VS Code 扩展中重命名与部署的连接,请执行以下操作:

1
VSCode 侧边栏菜单图像。
点击放大
2
3
  1. 在命令面板中,键入连接的新名称。

  2. Enter返回键重命名连接。

VS Code Extension 提供了两种从部署断开连接的方法。您可以执行以下操作:

  • 使用命令面板断开连接。

  • 断开与 Activity BarMongoDB 视图的连接。

1
VSCode 侧边栏菜单图像。
点击放大
2
1
操作系统
方法
操作
Any
Visual Studio Code 菜单
View > Command Palette
macOS
键盘快捷键
Command + Shift + P
Windows 和 Linux
键盘快捷键
Control + Shift + P
2
  1. 从命令面板中,选择 MongoDB: Disconnect

    提示

    在命令面板中输入mongodb以显示可以使用的所有VS Code扩展命令。

  2. Enter 键。

与 MongoDB 实例断开连接会关闭 VS Code 扩展与活动实例的连接。必须重新连接,才能再次与部署中的数据交互。

VS Code 提供两种方法从 Visual Studio Code 中删除与部署的连接。您可以执行以下操作:

  • Activity Bar中的MongoDB视图中删除连接。

  • 使用命令面板删除连接。

重要

从 Visual Studio Code 中删除连接会将其同时从当前工作区和 Visual Studio Code 中全局删除。

1
VSCode 侧边栏菜单图像。
点击放大
2
3
1
操作系统
方法
操作
Any
Visual Studio Code 菜单
View > Command Palette
macOS
键盘快捷键
Command + Shift + P
Windows 和 Linux
键盘快捷键
Control + Shift + P
2

提示

在命令面板中输入mongodb以显示可以使用的所有VS Code扩展命令。

如果有多个连接,请从命令面板中选择要删除的连接。

3

提示

另请参阅:

后退

Verify Plugin