云端的MongoDB
MongoDB可以配置在主流的云存储平台上,如AWS, Azure, GCP. 基于云存储平台提供MongoDB服务的可以是云存储公司,如亚马逊,也可以是其他类型公司. MongoDB Atlas是Mongo公司基于云存储提供的MongoDB服务, 其MongoDB服务可以部署到AWS,Azure,或者GCP任何一个平台上,并且提供了一个功能受限的免费MongoDB存储服务.


配置免费的MongoDB Atlas存储服务

免费mongodb连接工具 mongodb 免费_字符串


这里注册的是MongoDB Atlas的帐号,进入配置页面后,根据左下角的Get Started步骤,完成基本的配置.

免费mongodb连接工具 mongodb 免费_Atlas_02


其中,数据库用户和密码是用来访问MongoDB数据的.配置完成后, 在Overview界面中可以看到配置的集群的名字.点击CONNECT按钮,在弹出的窗口中,显示了三种可以连接到MongoDB的方式.

免费mongodb连接工具 mongodb 免费_mongodb_03


即可以通过Mongo shell, MongoDB客户端驱动API或者MongoDB Compass访问Atlas的MongoDB服务.访问Atlas的MongoDB服务需要URL地址字符串.

点击Connect with the Mongo Shell,然后选择Short SRV connection string(shell 3.6+),会出现使用Mongo shell方式访问的URL字符串.

免费mongodb连接工具 mongodb 免费_mongodb_04


其中--username后面的字符串是之前配置的数据库用户名.

使用MongoDB驱动API以及Mongo Compass方式访问Atlas MongoDB也都有相应的URL字符串,可以点击相应的连接方式获取.

使用Mongo shell访问Atlas

从MongoDB官网https://www.mongodb.com/download-center/community下载最新版本的Mongo shell包.

免费mongodb连接工具 mongodb 免费_Atlas_05


根据实际情况选择相应的OS系统,注意Package下拉列表中选择shell.

安装下载的MongoDB shell包(Ubuntu系统下):

sudo dpkg -i mongodb-org-shell_4.0.5_amd64.deb

启动MongoDB shell:

mongo "mongodb+srv://fredcluster0-ftd6q.mongodb.net/test" --username fred

其中URL地址和用户名根据具体配置显示. 该命令执行后,会在终端中提示输入用户密码.输入密码后,即连接到了Atlas.可以执行MongoDB shell的命令进行访问.

切换数据库:

MongoDB Enterprise FredCluster0-shard-0:PRIMARY> use test
switched to db test

插入文档:

MongoDB Enterprise FredCluster0-shard-0:PRIMARY> db.inventory.insertOne(    { item: "fred", qty: 100, tags: ["cotton"], size: { h: 28, w: 35.5, uom: "cm" } } )
{
	"acknowledged" : true,
	"insertedId" : ObjectId("5c56baf9cad345ae30e435c9")
}

执行成功后, 可以在Atlas的REST管理界面中查看结果. 点击Collections:

免费mongodb连接工具 mongodb 免费_mongodb_06


使用MongoDB shell查询文档:

MongoDB Enterprise FredCluster0-shard-0:PRIMARY> db.inventory.find( { item: "fred" } )
{ "_id" : ObjectId("5c56baf9cad345ae30e435c9"), "item" : "fred", "qty" : 100, "tags" : [ "cotton" ], "size" : { "h" : 28, "w" : 35.5, "uom" : "cm" } }

使用Mongo 驱动API访问Atlas
在Atlas的REST管理界面中,选择Connect Your Application,获得该方式访问Atlas的URL地址字符串.

MongoDB 提供了主流编程语言(C/C++, Java, PHP, Python等)的客户端驱动来支持以编程的方式访问数据库.MongoDB的客户端驱动支持情况请参考:https://docs.mongodb.com/ecosystem/drivers/

具体驱动API的使用,可以参考相应的文档或者源代码.

基于Java或者C/C++平台的驱动编程开发时,需要注意的是:

  • 最新的Java客户端驱动需要JDK9;
  • C++驱动依赖于C驱动.
  • 在使用C驱动访问MongoDB时,因为C驱动的两个库mongocbson调用了其他库实现,在程序链接时,需要链接进这些依赖库,其中包括:DNS解析用到的resolv库,openssl的两个库sslcrypto,多线程库pthread,系统的dl库和rt库.