孤荷凌寒自学python第五十六天通过compass客户端和mongodb shell 命令来连接远端MongoDb数据库
孤荷凌寒自学python第五十六天通过compass客户端和mongodb shell 命令来连接远端MongoDb数据库
(完整学习过程屏幕记录视频地址在文末)
今天是学习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
MongoDB shell version v4.0.4
git version: f288a3bdf201007f3693c58e140056adf8b04839
allocator: tcmalloc
modules: none
build environment:
distmod: 2008plus-ssl
distarch: x86_64
target_arch: x86_64
根据显示的内容来看,居然可以成功执行,当然此处也有可能是我之前已经安装了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:
connecting to: mongodb+srv://cluster0-zr7xj.mongodb.net/ghlhfirst
2019-01-01T17:38:59.961+0800 I NETWORK [js] Starting new replica set monitor for Cluster0-shard-0/cluster0-shard-00-00-zr7xj.mongodb.net.:27017,cluster0-shard-00-01-zr7xj.mongodb.net.:27017,cluster0-shard-00-02-zr7xj.mongodb.net.:27017
2019-01-01T17:39:01.002+0800 I NETWORK [js] Successfully connected to cluster0-shard-00-00-zr7xj.mongodb.net.:27017 (1 connections now open to cluster0-shard-00-00-zr7xj.mongodb.net.:27017 with a 5 second timeout)
2019-01-01T17:39:01.034+0800 I NETWORK [ReplicaSetMonitor-TaskExecutor] Successfully connected to cluster0-shard-00-01-zr7xj.mongodb.net.:27017 (1 connections now open to cluster0-shard-00-01-zr7xj.mongodb.net.:27017 with a 5 second timeout)
2019-01-01T17:39:01.243+0800 I NETWORK [js] changing hosts to Cluster0-shard-0/cluster0-shard-00-00-zr7xj.mongodb.net:27017,cluster0-shard-00-01-zr7xj.mongodb.net:27017,cluster0-shard-00-02-zr7xj.mongodb.net:27017 from Cluster0-shard-0/cluster0-shard-00-00-zr7xj.mongodb.net.:27017,cluster0-shard-00-01-zr7xj.mongodb.net.:27017,cluster0-shard-00-02-zr7xj.mongodb.net.:27017
2019-01-01T17:39:02.266+0800 I NETWORK [js] Successfully connected to cluster0-shard-00-00-zr7xj.mongodb.net:27017 (1 connections now open to cluster0-shard-00-00-zr7xj.mongodb.net:27017 with a 5 second timeout)
Implicit session: session { "id" : UUID("54f31aff-fe89-4189-b68e-c637916bd71b") }
MongoDB server version: 4.0.4
Error while trying to show server startup warnings: user is not allowed to do action [getLog] on [admin.]
MongoDB Enterprise Cluster0-shard-0:PRIMARY>
然后证实通过compass客户端也可以连接上了。
三、对mongoDB连接命令的理解:
(一)
"mongodb+srv://cluster0-zr7xj.mongodb.net/ghlhfirst"
命令参数的第一部分其实是自己的数据库的地址,个规模一个域名的形式。
(二)
--username ghlh
表示:当前连接数据库的授权用户名
而授权用户对应的密码,会在cmd命令窗口中,单独提示输入。
输入密码是不会有任何字符显示的,只管输入完成后点击【Enter】即可。
由于今天花费了太多时间与服务器访问上,还没有进行Python语句连接到mongoDB的测试。
——————————
今天整理的学习笔记完成,最后例行说明下我的自学思路:
根据过去多年我自学各种编程语言的经历,认为只有真正体验式,解决实际问题式的学习才会有真正的效果,即让学习实际发生。在2004年的时候我开始在一个乡村小学自学电脑 并学习vb6编程语言,没有学习同伴,也没有高师在上,甚至电脑都是孤岛(乡村那时还没有网络),有的只是一本旧书,在痛苦的自学摸索中,我找到适应自己零基础的学习方法:首先是每读书的一小节就作相应的手写笔记,第二步就是上机测试每一个笔记内容是否实现,其中会发现书中讲的其实有出入或错误,第三步就是在上机测试之后,将笔记改为电子版,形成最终的修订好的正确无误的学习笔记 。
通过反复尝试错误,在那个没有分享与交流的黑暗时期我摸黑学会了VB6,尔后接触了其它语言,也曾听过付费视频课程,结果发现也许自己学历果然太低,就算是零基础的入门课程,其实也难以跟上进度,讲师的教学多数出现对初学者的实际情况并不了解的情况,况且学习者的个体也存在差异呢?当然更可怕的是收费课程的价格往往是自己难以承受的。
于是我的所有编程学习都改为了自学,继续自己的三步学习笔记法的学习之路。
当然自学的最大问题是会走那么多的弯路,没有导师直接输入式的教学来得直接,好在网络给我们带来无限搜索的机会,大家在网络上的学习日志带给我们共享交流的机会,而QQ群等交流平台、网络社区的成立,我们可以一起自学,互相批评交流,也可以获得更有效,更自主的自学成果。
于是我以人生已过半的年龄,决定继续我的编程自学之路,开始学习python,只希望与大家共同交流,一个人的独行是可怕的,只有一群人的共同前进才是有希望的。
诚挚期待您的交流分享批评指点!欢迎联系我加入从零开始的自学联盟。
这个时代互联网成为了一种基础设施的存在,于是本来在孤独学习之路上的我们变得不再孤独,因为网络就是一个新的客厅,我们时刻都可以进行沙龙活动。
非常乐意能与大家一起交流自己自学心得和发现,更希望大家能够对我学习过程中的错误给予指点——是的,这样我就能有许多免费的高师了——这也是分享时代,社区时代带来的好福利,我相信大家会的,是吧!
根据完全共享的精神,开源互助的理念,我的个人自学录制过程是全部按4K高清视频录制的,从手写笔记到验证手写笔记的上机操作过程全程录制,但因为4K高清文件太大均超过5G以上,所以无法上传至网络,如有需要可联系我QQ578652607对传,乐意分享。上传分享到百度网盘的只是压缩后的720P的视频。
我的学习过程录像百度盘地址分享如下:(清晰度:1280x720)
链接:https://pan.baidu.com/s/1vuDr039cVG0Mj0zsFv5gCg
提取码:e6tp
Bilibili:
https://www.bilibili.com/video/av39680803/
喜马拉雅语音笔记:
https://www.ximalaya.com/keji/19103006/149597379
孤荷凌寒自学python第五十六天通过compass客户端和mongodb shell 命令来连接远端MongoDb数据库的更多相关文章
- 孤荷凌寒自学python第五十九天尝试使用python来读访问远端MongoDb数据服务
孤荷凌寒自学python第五十九天尝试使用python来读访问远端MongoDb数据服务 (完整学习过程屏幕记录视频地址在文末) 今天是学习mongoDB数据库的第五天.今天的感觉是,mongoDB数 ...
- 孤荷凌寒自学python第五十五天初识MongoDb数据库
孤荷凌寒自学python第五十五天第一天初识MongoDb数据库 (完整学习过程屏幕记录视频地址在文末) 大家好,2019年新年快乐! 本来我想的是借新年第一天开始,正式尝试学习爬虫,结果今天偶然发现 ...
- 孤荷凌寒自学python第五十四天使用python来删除Firebase数据库中的文档
孤荷凌寒自学python第五十四天使用python来删除Firebase数据库中的文档 (完整学习过程屏幕记录视频地址在文末) 今天继续研究Firebase数据库,利用google免费提供的这个数据库 ...
- 孤荷凌寒自学python第五十天第一次接触NoSql数据库_Firebase
孤荷凌寒自学python第五十天第一次接触NoSql数据库_Firebase (完整学习过程屏幕记录视频地址在文末) 之前对关系型数据库的学习告一段落,虽然能力所限没有能够完全完成理想中的所有数据库操 ...
- 孤荷凌寒自学python第八十六天对selenium模块进行较详细的了解
孤荷凌寒自学python第八十六天对selenium模块进行较详细的了解 (今天由于文中所阐述的原因没有进行屏幕录屏,见谅) 为了能够使用selenium模块进行真正的操作,今天主要大范围搜索资料进行 ...
- 孤荷凌寒自学python第七十六天开始写Python的第一个爬虫6
孤荷凌寒自学python第七十六天开始写Python的第一个爬虫6 (完整学习过程屏幕记录视频地址在文末) 今天在上一天的基础上继续完成对我的第一个代码程序的书写. 不过由于对python-docx模 ...
- 孤荷凌寒自学python第四十六天开始建构自己用起来更顺手一点的Python模块与类尝试第一天
孤荷凌寒自学python第四十六天开始建构自己用起来更顺手一点的Python模块与类,尝试第一天 (完整学习过程屏幕记录视频地址在文末,手写笔记在文末) 按上一天的规划,这是根据过去我自学其它编程语 ...
- 孤荷凌寒自学python第六十六天学习mongoDB的基本操作并进行简单封装5
孤荷凌寒自学python第六十六天学习mongoDB的基本操作并进行简单封装5并学习权限设置 (完整学习过程屏幕记录视频地址在文末) 今天是学习mongoDB数据库的第十二天. 今天继续学习mongo ...
- 孤荷凌寒自学python第八十五天配置selenium并进行模拟浏览器操作1
孤荷凌寒自学python第八十五天配置selenium并进行模拟浏览器操作1 (完整学习过程屏幕记录视频地址在文末) 要模拟进行浏览器操作,只用requests是不行的,因此今天了解到有专门的解决方案 ...
随机推荐
- 【洛谷4717】【模板】快速沃尔什变换(FWT模板)
点此看题面 大致题意: 有两个长度为\(2^n\)的数组\(A,B\),且\(C_i=\sum_{j⊕k==i}A_jB_k\)分别求出当\(⊕\)为\(or,and,xor\)时的\(C\)数组. ...
- DOM(四):h5扩展方法
getElementByClassName()方法getElementByClassName()方法接收一个参数,即一个包含一或多个类名的字符串,返回带有指定类的所有元素的NodeList //取得所 ...
- cgi程序报 Premature end of script headers:
这段时间写了一个CGI,也是为了应付工作,挺简单的一个程序,总是在调用的时候报:Premature end of script headers: 很让人头疼! 在网上找了些资料,按资料 ---- ...
- tensorflow pb ckpt pbtxt
ckpt存储参数值 pbtxt存储网络图 pb既存储参数值又存储网络图
- lasagne保存网络参数
# Optionally, you could now dump the network weights to a file like this: # np.savez('model.npz', *l ...
- java的四个元注解 @Retention @Target @Document @Inherited
1. @Retention :注解的保留位置 @Retention(RetentionPolicy.SOURCE) //注解仅存在于源码中,在class字节码文件中不包含 @Retention( ...
- 旧文备份: CANopen的LSS子协议中文翻译
有关节点地址和网络波特率的在线设置等:下载
- 关于Java的反射机制,你需要理解这些..
转载请标明出处: http://blog.csdn.net/forezp/article/details/53730429 本文出自方志朋的博客 反射机制是在运行状态中,对于任意一个类,都能够知道这个 ...
- JavaScript的变量命名规则和关键字的介绍
变量的名字 就像 人的名字一样,不能乱起. 你的代码不是只有你一个人看,变量既然是名字,那就这个名字就要有特殊的意义: 举个栗子:翠花,我们能从这个名字中得到什么信息?(这个 ...
- 【例题收藏】◇例题·II◇ Berland and the Shortest Paths
◇例题·II◇ Berland and the Shortest Paths 题目来源:Codeforce 1005F +传送门+ ◆ 简单题意 给定一个n个点.m条边的无向图.保证图是连通的,且m≥ ...