工欲善其事,必先利其器,我们在使用数据库时,通常需要各种工具的支持来提高效率;很多新用户在刚接触 MongoDB 时,遇到的问题是『不知道有哪些现成的工具可以使用』,本系列文章将主要介绍 MongoDB 生态在工具、driver、可视化管理等方面的支持情况。
本文主要介绍 MongoDB 对各个语言的客户端(driver)支持情况
MongoDB 官方目前支持10+种语言的客户端,所有官方客户端 driver都支持 MongoDB Connection String URI 的方式去连接,客户端均支持连接断开自动重连的功能,如果连接的是复制集,mongodb driver 会自动跟复制集的所有节点保持心跳来检测节点的角色,自动将请求路由到正确的节点上,以保证高可用。
Documentation | Releases | Source | API | JIRA | Online Course |
---|---|---|---|---|---|
C | Releases | Source | API | JIRA | |
C++11 | Releases | Source | API | JIRA | |
C# | Releases | Source | API | JIRA | Course |
Java | Releases | Source | API | JIRA | Course |
Node.js | Releases | Source | API | JIRA | Course |
Perl | Releases | Source | API | JIRA | |
PHP | Releases | Source | API | JIRA | |
Python | Releases | Source | API | JIRA | Course |
Motor | Releases | Source | API | JIRA | |
Ruby | Releases | Source | API | JIRA | |
Scala | Releases | Source | API | JIRA |
除了官方发布的客户端 driver,社区也有一些贡献,比如 go、erlang 语言的客户端,go 特别适合做运维工具的开发,mongodb 3.2版本里大部分的工具基本都是用 go 语言实现的。
Documentation | Releases | Source | API | JIRA | Online Course |
---|---|---|---|---|---|
Go (mgo) | Releases | Source | API | JIRA | |
Erlang | Releases | Source | API | JIRA |
如果在上面的列表里没有找到你使用的开发语言,可以尝试来自己开发一款贡献到社区,MongoDB 的网络协议比较简单,参考MongoDB Wire Protocol。