公告推出MongoDB 8.0,史上最快的MongoDB!阅读更多 >>推出MongoDB 8.0,史上最快的MongoDB!>>

MongoDB热爱开发者。我们希望世界各地的软件工程师都能通过构建应用程序取得成功——无论是无服务器Web应用程序、移动游戏、物联网集成,还是任何你能想象的应用程序。

使用我们的惯用驱动程序和库,您可以使用MongoDB轻松存储数据。我们官方支持13种编程语言;我们还拥有一个强大的社区,他们开发了额外的库和驱动程序,以支持今天几乎所有的编程语言。我们拥抱多语言开发者——许多客户在同一个应用程序中使用MongoDB和多种编程语言。

MongoDB是最受欢迎的NoSQL数据库,广泛应用于存储和管理结构化和非结构化数据。数据管理员、分析师和程序员可以使用他们选择的编程语言来优化和管理数据,创建高性能的应用程序。

MongoDB的所有兼容编程语言


官方支持并与MongoDB兼容的语言有

  1. C
  2. C++
  3. C#
  4. Go
  5. Java
  6. Kotlin
  7. Node.js
  8. PHP
  9. Python
  10. Ruby
  11. Rust
  12. Scala
  13. Swift

我们还拥有许多社区创建的驱动程序

语言

C logo image

C

即使在许多其他高级编程语言中,由于性能和新特性的支持,C仍然是遗留和现代应用程序的一个强大选择。

  1. 大多数主要操作系统——如Windows、Mac和Linux——都是用C编写的。
  2. C还用于嵌入式系统、游戏动画以及许多其他实际应用场景。

了解如何使用官方驱动程序连接MongoDB和C应用程序,请参阅libmongoc

C++ logo image

C++

你知道吗,MongoDB是用C++编写的?与Python等高级语言相比,C++是速度最快的语言之一。因此,C++广泛应用于搜索引擎、物联网和基于GUI的应用程序。MongoDB提供了一个官方驱动程序,使用mongocxx驱动程序编写C++应用程序。
C# logo image

C#

mongodb和C#是天生的一对。许多开发人员喜欢C#,因为它是一种现代、类型安全、面向对象的编程语言,编译速度快。MongoDB的C# (.NET)官方驱动使得从任何C#应用程序与MongoDB上的数据进行交互变得简单,我们的Unity Atlas设备SDK也非常受欢迎。C#开发者还可能对我们的.NET分析器感兴趣,它可以在Visual Studio和其他工具中轻松理解和调试查询和聚合,或者在MongoDB Entity Framework Core (EF Core)提供程序中,允许开发者使用熟悉的EF Core API和设计模式构建现代应用程序。
Go logo image

Go

Go是一种提供高性能和出色内存管理功能的语言。由于其高效的并发处理,它被用于像Kubernetes这样的云大型项目。

它的数据友好语法与MongoDB的灵活模式结合使用,可以构建高性能应用程序。

您可以通过遵循我们网站上的Golang和MongoDB教程来开始使用MongoDB Go驱动

Java logo image

Java

Java因其支持多个平台而被称为“一次编写,到处运行”的语言。因此,使用Java与MongoDB结合是顺理成章的。在使用本地驱动时,Java的对象可以直接映射到MongoDB文档。除了本地驱动,我们还鼓励探索Spring数据的MongoDB集成。您可以通过这个教程了解如何开始。
Kotlin logo image

Kotlin

Kotlin是一种跨平台语言,与Java和JVM完全互操作,可以用于Android开发以及服务器端。移动开发者可以使用Atlas Device SDK for Kotlin,而服务器端Kotlin开发者可以使用Kotlin Driver。要开始使用Kotlin,请参考开发者中心
Node.js image logo

Node.js

Node.js将JavaScript代码渲染到浏览器之外,这使得软件开发人员能够构建桌面应用程序和Web服务器。Node.js建立在Google Chrome的V8 JavaScript引擎之上,并使用事件驱动的非阻塞I/O模型。

它通常与MongoDB和其他JavaScript前端语言(如Angular)一起使用,形成MEAN堆栈,或与React一起形成MERN堆栈

由于MongoDB使用类似JSON的语法,因此使用Node.js与MongoDB结合对于JavaScript开发者来说是一个自然的选择。

MongoDB支持用户使用我们的nodeJS驱动程序(实际上是使用TypeScript编写的),MongoosePrisma.io ORM和其他一些。

Php logo image

PHP

PHP是一种用于构建动态网页和网站的服务器端脚本语言。尽管存在许多其他功能丰富的语言,但由于其易于学习和欢迎的社区,PHP仍然占据着稳固的地位。PHP应用程序可以安全地连接到不同的数据库,包括MongoDB。

结合MongoDB,PHP应用程序具有高度的可扩展性、健壮性和高性能。

除了MongoDB PHP驱动外,还有许多库和框架扩展可供开发者快速入门,包括MongoDB的Laravel框架集成,这是由MongoDB官方开发和维护的。

Python logo image

Python

Python 是数据密集型任务和数据科学中最受欢迎的语言之一,这得益于众多用于统计学、机器学习和与AI相关任务的库。Python 也非常容易学习,具有易于阅读的语法,以及一个充满资源的新手社区。

MongoDB 对于 Python 开发者来说是一个很好的选择,无论是构建Web应用程序、进行数据分析还是专注于运维。这是因为 Python 以字典格式存储数据,这与 MongoDB 存储数据的类似 JSON 格式相似。Python 还可以使用内置方法一次性解析 JSON 数据。这使得数据检索和存储更快、更高效。

使用官方驱动程序 pymongo 将 MongoDB 连接到 Python 应用程序,进行基本的和高级的 CRUD(创建、读取、更新、删除)操作,并使用 pymongoarrow 将 MongoDB 数据导出到 pandas 数据框、numpy 数组、csv 和 parquet 文件。

此外,您可以通过我们 GitHub 仓库中可用的全栈 FastAPI 应用生成器来简化您的开发,该仓库地址为 GitHub 仓库,它提供了一个应用程序骨架,可以显著减少生产级 Web 应用程序的设置时间。

Ruby logo image

Ruby

Ruby 自1990年代中期以来一直存在,但Rails框架的发布使它在2000年代初真正成为了Web开发者的热门语言。该语言最出名的是其优雅的语法,这使得它以自然的方式易于阅读。

MongoDB 具有遵循相同范例的原生 Ruby 驱动程序,以及官方的 ORM(ODM)Mongoid。它提供了一种高效地将 Ruby 对象映射到 MongoDB 实体的方法。在本教程中了解如何使用 MongoDB 构建 Ruby on Rails 应用程序:[教程](https://docs.mongodb.com/mongoid/current/tutorials/getting-started-rails/)。

Rust logo image

Rust

Rust 提供内存安全并支持并发编程。

Rust 是一种高性能、内存安全和并发的底层编程语言。Rust 最常与 MongoDB 一起用于编写游戏引擎和嵌入式应用程序。

Rust 是严格类型化的,而 MongoDB 具有灵活的模式,用户可以通过我们的 serde 集成同时体验这两者。

阅读我们的 MongoDB 和 Rust 简介,了解如何使用 MongoDB Rust 驱动程序来构建可扩展和高性能的应用程序。

Scala logo image

Scala

Scala 是一种通用语言,用于数据处理、Web 开发和分布式计算。它被数据工程师和软件开发人员共同使用。为了处理大量数据集,数据工程师和数据科学家通常使用 Scala 与 Apache Spark 一起使用。

通过使用 Scala 与 MongoDB 这样的 NoSQL 或文档数据库,您可以通过 MongoDB 的强大功能(包括聚合管道和实时分析)轻松构建可扩展的数据密集型应用程序。

MongoDB Scala 驱动程序为 Scala 应用程序提供官方支持。开发人员可以使用 Scala 和 MongoDB 进行 Spark 项目的开发,以构建更快的应用程序并执行高级实时分析和机器学习。

Swift logo image

Swift

Swift 是一种用于移动和服务器端开发的强大语言。MongoDB 允许 Swift 开发者享受两者的最佳结合:使用我们的 Atlas 设备 SDK for Swift 进行移动开发,或者使用我们的 Swift 驱动程序 与 Vapor 开发跨平台的 Web 和移动应用程序。一个示例应用程序可以在我们的 GitHub 上找到。

结论

以下是使用原生驱动程序与 MongoDB 等非关系型数据库配合使用的最佳语言的总结

语言使用场景原生驱动程序
C游戏、操作系统开发、嵌入式系统libmongoc
C++物联网设备、机器学习工具、游戏开发mongocxx
C#Web 应用程序开发、游戏应用MongoDB C#/.NET 驱动程序
Go云原生应用程序、分布式 Web 应用程序MongoDB Go 驱动程序
Java企业 Web 开发、人工智能和深度学习Java 驱动程序 Java Reactive Streams
Kotlin移动开发、后端或全栈开发、多平台移动开发MongoDB Kotlin 驱动程序
Node.js大数据分析、实时数据应用程序、聊天机器人MongoDB Node 驱动程序
PHPWeb 开发、图像处理、CMS 系统MongoDB PHP 驱动程序
Python网络爬虫、物联网、人工智能PyMongo
Ruby电子商务应用程序、社交网络MongoDB Ruby 驱动程序
Rust操作系统、分布式在线服务MongoDB Rust 驱动程序
Scala数据管道、数据处理、实时信息处理MongoDB Scala 驱动程序
Swift离线功能、移动应用程序MongoDB Swift 驱动程序

常见问题解答

MongoDB 使用哪些语言?

MongoDB 支持许多广泛用于各种数据密集型应用程序的语言,例如 Java、C 和 C++ 用于 Web 应用程序和游戏;Python 和 Scala 用于大数据应用程序;Node.js、PHP 和 C# 用于服务器端脚本;以及其他许多语言。请参阅 MongoDB 兼容的语言完整列表

MongoDB 是一种编程语言吗?

MongoDB 不是一个编程语言。MongoDB 是一种通用文档数据库(有时被称为 NoSQL 数据库),它使用 MongoDB 查询语言(MQL)来存储和检索来自各种应用程序的数据,并执行各种聚合、分析和可视化,以便对数据进行商业解读。

MongoDB 比 SQL 更好吗?

MongoDB 是一种 NoSQL 数据库,即 Not Only SQL。MongoDB 是否比 SQL 更好,这完全取决于业务目的、使用场景以及数据检索的方式——我们相信开发者应该拥有所需的信息来选择最适合任务的工具。MongoDB 支持许多编程语言,非常适合存储和管理当今不断增长的非结构化和半结构化大数据。

MongoDB 的数据库即服务(MongoDB Atlas)提供对多个云提供商的支持,例如 AWS 和 Azure,并附带许多 优点。RDBMS 系统如 SQL 仍然被广泛采用,主要用于结构化数据。大多数 BI 和大数据工具都依赖于 SQL。

MongoDB 是否容易学习?

MongoDB 容易学习。无论你是否具备任何数据库的先验经验,你都可以轻松理解 MongoDB 背后的概念,最重要的是,其查询语言。

我们的 MongoDB 开发者中心 提供教程、视频和快速入门指南,以帮助您使用您选择的编程语言学习 MongoDB。