就是要学社区 QQ群组:646854445
你并非已无懈可击,所以你不能逃避问题,拒绝学习!

056孤荷凌寒自学python通过compass和mongodb shell连接mogodb

|阅读量:66 |发布于2020-08-10 14:04:52


正文内容

Github:

https://github.com/lhghroom/ZeroBasicSelfStudyPython


今天是学习mongoDB数据库的第二天。仍然感觉付出的时间与收获完全不成正比,万事开头的时候,总是那么困难,不过今天历尽困难总算还是成功在本地连接上了远端的mongoDB数据库(就是我注册的官方的试用版本的数据库,就在官方网站服务器上。)


一、首先在官方网站为我注册的账号新建的项目【Clusters0】中添加了一个测试数据库(database),命名空间为:ghlhfirst

(具体添加过程不是很复杂,但要通过文字描述又比较有难度,而且最开始要找到这个添加过程还着实花了我不少时间,具体看我的操作录屏,链接在文末)

同样的,我可以很方便的在这个数据库中,添加一个集合,我命名为【ghlhone】

与firebase一样在集合中,我可以添加多个文档(document)对象。在文档中我也可以添加记录,一个文档的记录可以由多个字典样式的key:value格式组合的成的内容。这些都与之前学习的firebase数据库一模一样。

但今天没有研究在文档(document)中是否还可以添加下一层级的集合。

(具体看我的操作录屏,链接在文末)


二、然后是下载安装compass本地客户端

下载后的compass本地客户端的文件名是:

mongodb-compass-community-1.16.3-win32-x64.exe

直接点击安装,允许杀毒软件放行即可安装完成,桌面上会有快捷方式,而且安装过程非常快,可能只花了几秒钟时间,然而下载这个文件要花不少时间,受制于网络的影响。


客户端的使用我找到了几个网络上的教程:

一个是官方教程:

https://resources.mongodb.com/getting-started-with-mongodb/getting-started-with-python-and-mongodb

一个是百度经验上有同修者放有经验:

https://jingyan.baidu.com/article/f96699bb0bb760894f3c1b63.html


我严格参照此教程进行连接,反复尝试。

然而,却屡屡失败,反复提示:

Cannot reach any nodes for set Cluster0-shard-0. Please check network connectivity and the status of the set.


对compass起始界面上的参数也进行了反复的修改,不断尝试,花了近几个小时,然而还是不能连接上。

(我的详细操作过程,参见我的屏幕录屏,因为反复尝试次数过多,进行了剪辑,显得没有尝试几次,事实上进行了数百次的尝试。)


就暂时放弃了,转而研究它的命令行客户端【Mongo Shell】

这种通过windows的命令行客户端连接远程服务器的方法。


三、又尝试进行命令行客户端【Mongo Shell】的安装并连接

(一)、首先下载了这个客户端,下载得到的文件是:

mongodb-shell-win32-x86_64-2008plus-ssl-4.0.4.zip

因为是zip格式的压缩文件,看来不用安装 ,于是我解压了它,只得到了一个文件:

mongo.exe

此处与上面提到的百度经验中的经验文章中的教程都不再一致了,我只好进行尝试,将这个文件放到了系统盘的windows目录中,然而打开windows的命令行窗口进行验证安装是否成功:

输入的命令是:

C:\Users\pw>mongo --version

根据显示的内容来看,居然可以成功执行,当然此处也有可能是我之前已经安装了compass客户端,所以本来就已经安装了了shell版本的客户端。


(二)然后我找到了我的shell版本的连接字符命令行命令:

mongo "mongodb+srv://cluster0-zr7xj.mongodb.net/test" --username ghlh


考虑到我自己建立的第一个数据库的命名空间是:【ghlhfirst】

于是我将其修改为再到windows的cmd命令中去执行如下:

mongo "mongodb+srv://cluster0-zr7xj.mongodb.net/ghlhfirst" --username ghlh

不料出现与compass客户端同样的问题:

Cannot reach any nodes for set Cluster0-shard-0. Please check network connectivity and the status of the set.

在此又花了大量时间,终于后来明白了,是网络访问受阻,经过反复测试,花去大量宝贵的时间之后,终于在shell命令下连接上了:

C:\Users\pw>mongo "mongodb+srv://cluster0-zr7xj.mongodb.net/ghlhfirst" --username ghlh

MongoDB shell version v4.0.4

Enter password:

三、对mongoDB连接命令的理解:

(一)

"mongodb+srv://cluster0-zr7xj.mongodb.net/ghlhfirst"

命令参数的第一部分其实是自己的数据库的地址,一个域名的形式。

(二)

--username ghlh

表示:当前连接数据库的授权用户名


而授权用户对应的密码,会在cmd命令窗口中,单独提示输入。

输入密码是不会有任何字符显示的,只管输入完成后点击【Enter】即可。


由于今天花费了太多时间与服务器访问上,还没有进行Python语句连接到mongoDB的测试。


【就是要学】社区
一个平等,纯粹的社群
本社群旨在为真正愿意不断学习,终身成长的朋友提供一个平等互助互相鼓励的清洁纯粹的学习交流的平台。
加入社群将获得
1、与真正终身学习者为伍
2、在榜样带领下坚持每天学习,终身成长
3、养成记录时间日志,成功日记的习惯


【就是要学】社区QQ群:646854445





【返回首页】