Join us Sept 17 at .local NYC! Use code WEB50 to save 50% on tickets. Learn more >
MongoDB Event
Docs 菜单
Docs 主页
/ / /
C 驱动程序

C驱动程序入门

MongoDB C驱动程序是一个C库,可用于连接到MongoDB并与部署中存储的数据交互。 本指南向您展示如何创建一个应用程序使用C驾驶员连接到MongoDB Atlas上托管的MongoDB 集群并查询集群中的数据。

提示

MongoDB Atlas 是完全托管的云数据库服务,旨在托管您的 MongoDB 部署。您可以按照本指南中的步骤创建您的免费(无需信用卡)MongoDB Atlas 部署。

按照本指南将示例C应用程序连接到MongoDB Atlas部署。 如果您希望使用不同的驾驶员或编程语言连接MongoDB ,请参阅我们的官方驱动程序的 列表。

C驾驶员由两个库组成:libbsonlibmongoc。 在本指南中,您将学习;了解如何安装与 libbson 捆绑在一起的 libmongoc

您可以使用包管理器或从源代码安装库来安装C驾驶员。 使用包管理器安装时,不同的Linux发行版会安装不同版本的驾驶员。 因此,在安装驾驶员之前,应检查发行版包含的版本。

在RedHat Enterprise Linux (RHEL) 发行版上,可以通过在Shell中运行以下命令来检查版本:

sudo dnf info mongo-c-driver-devel

在基于 Debian 的发行版上,可以通过在Shell中运行以下命令来检查版本:

apt-cache policy libmongoc-dev

如果可用的驾驶员版本不是您想要的版本,您可以从源代码安装驾驶员。 要学习;了解如何从源代码安装驾驶员,请参阅 从源代码构建C驱动程序库指南。

要学习;了解如何使用包管理器安装驾驶员,请选择与您的操作系统相对应的标签标签页:

您可以在RedHat Enterprise Linux (RHEL) 发行版 7 或更高版本或基于 RHEL 的发行版上安装驾驶员,例如:

  • CentOS

  • Rocky Linux

  • AlmaLinux

在 RHEL 发行版(不包括 Fedora)上安装驾驶员之前,必须先启用Extra Packages for Enterprise Linux (EPEL)存储库。 您可以通过安装 epel-release包来启用EPEL存储库,如以下示例所示:

yum install epel-release

然后,您可以使用 yum 安装C驾驶员。 为此,请在Shell中运行以下命令:

yum install mongo-c-driver-devel

注意

开发者包

前面的代码示例安装了开发者包,这是构建使用C驾驶员的应用程序所需的。 要仅安装库而不安装开发文件,运行以下命令:

yum install mongo-c-driver

如果要在版本 8 或更高版本的 RHEL 发行版上进行安装,我们建议使用 dnf 而不是 yum 来运行前面的代码示例。

如果您使用的是 Fedora 或版本为 或更高版本的企业Linux发行版,则可以使用与前面示例中所示相同的命令并将8 yum替换为dnf 来安装驾驶员。

以下示例显示了如何在 Fedora 发行版中安装C驾驶员:

dnf install mongo-c-driver-devel

在基于 Debian 的Linux发行版(包括Ubuntu和Ubuntu衍生品)中,可通过高级打包工具 (APT) 获取驾驶员库。 您可以通过在Shell中运行以下命令来使用 APT 安装驾驶员:

apt install libmongoc-dev

前面的代码示例安装了开发者包,这是构建使用C驾驶员的应用程序所需的。 要仅安装库而不安装开发文件,运行以下命令:

apt install libmongoc-1.0-0

对于Windows环境,我们建议从源代码构建C驾驶员库,以确保与本地工具链的最大兼容性。 您可以使用源代码库包管理工具(例如 vcpkg)自动从源代码进行构建。

提示

要学习;了解如何开始使用 vcpkg,请参阅Microsoft文档中的 vcpkg 入门指南。

vcpkg 清单文件模式下,将驾驶员库添加到项目的vcpkg.json 清单文件中,如以下示例所示:

{
// ...
"dependencies": [
// ...
"mongo-c-driver"
]
}

当您使用 vcpkg 集成构建CMake项目并具有 vcpkg.json 清单文件时,vcpkg 会在继续配置之前自动安装项目的依赖项。

如果使用的是 vcpkg 经典模式,则可以通过在Shell中运行以下命令来安装驾驶员:

vcpkg install mongo-c-driver

安装驾驶员后,标准 CMake 配置文件以及生成的 IMPORTED 目标就可用了。 您可以创建一个 CMakeLists.txt文件,如以下示例所示:

find_package(mongoc-1.0 CONFIG REQUIRED)
target_link_libraries(my-application
PRIVATE $<IF:$<TARGET_EXISTS:mongo::mongoc_shared>,mongo::mongoc_shared,mongo::mongoc_static>)

注意

您可以使用上示例中的 $<IF:$<TARGET_EXISTS...>:...> 生成器表达式,根据 find_package() 命令提供的形式切换 libmongoc 的链接类型。 libmongoc支持使用动态和静态库类型进行构建,但 vcpkg 一次只能安装一种类型。

要使用 vcpkg 集成配置 CMake项目,请在Shell中运行以下命令,在配置命令中设立CMake 工具链文件:

cmake -S . -B _build -D
CMAKE_TOOLCHAIN_FILE=$VCPKG_ROOT/scripts/buildsystems/vcpkg.cmake

您可以使用 Homebrew包管理器在 MacOS 上下载C驾驶员。为此,请在Shell中运行以下命令:

brew install mongo-c-driver

完成这些步骤后,您就已在计算机上安装了C驾驶员。

您可以在 MongoDB Atlas 上创建一个免费套餐 MongoDB 部署来存储和管理您的数据。MongoDB Atlas 在云端托管和管理您的 MongoDB 数据库。

1

请按照 Atlas 入门指南中的步骤,设置新的 Atlas 账户并将示例数据加载到新的免费套餐 MongoDB 部署中。

2

创建数据库用户后,请将该用户的用户名和密码保存在一个安全位置,以便在后续步骤中使用。

完成这些步骤后,您就在 Atlas 上有了一个新的免费套餐 MongoDB 部署、数据库用户档案以及加载到数据库中的示例数据。

您可以通过提供连接 URI(也称为连接字符串)来连接到 MongoDB 部署,它指示驱动程序如何连接到 MongoDB 部署以及连接时的行为方式。

连接字符串包含部署的主机名或 IP 地址和端口、身份验证机制、用户档案(如果适用)以及连接选项。

要连接到未托管在Atlas上的实例或部署,请参阅选择连接目标指南。

1

要检索您在上一步中创建的部署的连接字符串,登录您的Atlas帐户并导航到 Database 部分,然后单击新部署的 Connect 按钮。

Atlas 用户界面的集群部分中的连接按钮

进入 Connect your application 部分,从 Driver 选择菜单中选择“C”,然后从 Version 选择菜单中选择与您安装的版本最匹配的版本。

选择Password (SCRAM)身份验证机制。

取消选择 Include full driver code example 选项以仅查看连接string 。

2

单击连接string右侧的按钮将其复制到剪贴板,如以下屏幕截图所示:

用户界面中连接 旁边的复制按钮stringAtlas
3

将此连接字符串粘贴到您首选文本编辑器中的文件中,并将<db_username><db_password>占位符替换为数据库用户的用户名和密码。

将此文件保存到安全位置,以便在下一步中使用。

完成这些步骤后,您就拥有了与string Atlas集群对应的连接 。

完成这些步骤后,您有一个正常运行的应用程序,它使用驱动程序连接到 MongoDB 部署、对示例数据运行查询并打印结果。

恭喜您完成快速入门教程!

注意

如果您在学习本教程时运行问题,请在MongoDB Community论坛中寻求帮助,或使用此页面右侧或右下角的 Rate this page标签页提交反馈。

在本教程中,您创建了一个C应用程序,该应用程序连接到MongoDB Atlas上托管的MongoDB 部署,并检索与查询匹配的文档。

通过以下资源了解详情有关C驾驶员的更多信息:

后退

异步C驱动程序:公共预览版

在此页面上