有个项目说要用非关系型数据库也就是常说的NoSQL(No only SQL),组长让搞个Mongodb试试,于是乎试试就逝世。
本来注册好那个账户之后,我要下载一个到本机上,结果一看人家居然有云数据库,我就很高兴立刻告诉给我的伙伴,然后她也很高兴,迅速地把自己下载好的软件给卸载了。然后我就继续搞这个东西,一步一步地选择,最后搞出来下图这个东西。
然后就不知道该怎么整。看网上的教程是点击CONNECT然后在里头一顿配置,看得我一头雾水。而且有一些专有词汇咱是真的没学过,在网上查吧也看不太明白。总之,大佬们写好的云配置文件,在我的眼睛里是清晰的一字一句,在我手下就跟乱毛线团一样......(看见了个VS Code,想到我有个VS Stdio,看图标长得害蛮像,就点进去碰碰运气,结果发现根本行不通,上网查了之后才知道这俩根本不是一个东西......)
于是乎,本菜鸡果断地调转马头,准备在真机上装一个软件。但是在调研的过程中,我看到有人说这个MongoDB很会吃内存,额,对于一个计科院的且近期没有买内存条打算的人来讲,看见这个还是蛮震撼的。所以我打算搞一个虚拟机,然后把MongoDB装到虚拟机上。我对虚拟机的了解很少,除了有时候老师上课提到过叫我们做实验最好别在真机上做,省的把电脑搞崩之后数据全部丢光光。当时有同学试着搞一个虚拟机,但是据他的经历来看,虚拟机上跑一些东西速度要比真机的慢,而且最后打包文件传输给别人的时候还很大,其中缘由我并不清楚,但听到这些事情我也就没有继续在那门课的实验环境里加上虚拟机这个选项。
我真傻,真的,我单以为那虚拟机就是一个模拟的电脑不会占用我的内存,却没想到这个东西还是要和本机产生连系,而且是很大的关联......在b站大学上看到一个UP主讲虚拟机,他说,真机的架构一共三层:硬件,操作系统,各种软件;而虚拟机的则是在操作系统上再加一个虚拟层,该层之上才是虚拟硬件,客户操作系统和各种软件。
那么虚拟层的作用是什么呢?当虚拟机中的软件要请求资源时,会形成一条指令,当软件希望执行时,就需要访问最真实的物理机的硬件资源,而非虚拟软件仿真出来的硬件资源,这个时候就需要虚拟层把这个请求资源的指令转译成对于物理机的一个硬件资源的请求,主要其转译的作用。
也就是说,虚拟机并不是用来节省内存的(反而还会耗费内存),它是用来模拟各种操作系统的工具。比如我的电脑是Windows系统,但是我现在想看一看Linux是怎么个事,这时就可以用虚拟机。
感恩whatever he/she is,给予我power and luck,经历了九九八十一难之后,我终于搞好了虚拟机(我用的是VMWare),并且成功创建并运行了Windows10 x64和Linux系统。这中间涉及到下载安装一些镜像软件(忘了具体是啥),桌面系统还有操作系统等三言两语一时半会说不清楚的事情,就改天再议吧。
但是如何在虚拟机上安装MongoDB我还没有开始研究。至于是否有这个必要,我认为还是有的,但也不是必要条件。其实在虚拟机上搞这个,最大的好处就是不喜欢了可以一键删除,而且还删的干干净净,欸这就很nice对吧。
我没有继续研究如何在虚拟机上安装MongoDB,那我去干嘛了呢?我去研究真机下载和配置mongodb了。欸对,兜兜转转又回来了,但是最起码篮子里多了一些东西。下载倒不是很难,找到适合的教程跟着搞就行了,主要难的是配置环境,要在cmd里头输入命令行,但是细心一点也没有太大的难度。吧。乖乖听各位大佬的指示,我在下载它的时候没有勾选 Mongo Compass,就导致我一直对着那个黑底白字的玩意敲敲敲......还是得搞一个Compass,可能是因为之前学汇编被伤得太深,我现在看见黑底白字的cmd就心揪。下面是配置成功的截图:
以上就是今天大致的描述,是我整整一天Mongodb、MVWare作斗争的精彩记录,真是超级水的流水账啊!