学习MongoDB第1部分

昨天是Docker。 今天,它将是MongoDB!

嘿! 这是另一个记录我学习历程的文章-这次是MongoDB! -当我在Spotify上听这部经典音乐时,为什么不呢? 😄

评估新技术

当我学习一种新技术时,我想从头开始。 在我还是学生的时候,教授们经常先教我们核心概念或理论,然后再深入研究某个主题。 我们通常认为这是理所当然的,只是希望尽快进行编码。 但是在现实世界中, 理论与代码同等重要 。 例如,如果您不听某些讲解重写和重载之间差异的演讲,那么您将花更多的时间在工作后就地研究它。 而且我们真的不想花更多的时间在搜索引擎上而不是文本编辑器上吗?

因此,我确保首先阅读有关概念的知识,并将其作为我学习的基础。 我想分享我从这篇文章中借来的这张图片。

在这里看到这张桌子吗? 对我来说,一个来自SQL背景的人,这个形象是

在此之前,我曾尝试使用“ 概念之前先编码 ”的方法尝试MongoDB 您猜对了-进行得不好。 我不知道集合和文档之间的区别,我将文档的列称为列而不是键。 你明白了! 这次我想做对了。

将脚趾浸入水中

我安装了MongoDB,并尝试运行mongod.exe。 您期待什么! 第一次尝试时出错! tutorial这个教程让我很高兴! 我对该错误进行了一些研究,很显然,MongoDB寻找一个名为“ data / db”的文件夹,因此我在“ C:/ data / db”上创建了一个文件夹。 有效! 👏

我想知道为什么MongoDB尚未对此进行修补?

哦,您还可以为“数据/数据库”设置自定义路径。

然后我尝试在bash上运行mongod,但它也没有用。 我了解到,当您运行.exe文件时,应在其前面加上“ ./”。 所以代替

$ mongod.exe

你做

$ ./mongod.exe

IL? on在MongoDB旅程中学习与bash相关的知识。 大!

依赖☠

现在,我将安装一些依赖项。 对我来说有些新东西。

  1. CORS
  2. 身体解析器
  3. Nodemon

CORS —我有点了解CORS是什么。 就像…将某些来源列入白名单,以便他们可以使用您的API? 这样的事吗? 🤣😅😭

好吧,我查了一下。 显然,我是正确的。 它不仅限于API使用。 它本身在HTTP中很常见。

Body Parser —我很惊讶javascript默认没有这样的东西。 ̶I̶̶d̶o̶n̶’̶t̶̶e̶v̶e̶n̶̶k̶n̶o̶w̶̶w̶h̶a̶t̶̶t̶h̶i̶s̶̶d̶o̶e̶s̶̶t̶h̶o̶u̶g̶h̶!̶

因此,我了解到Body Parser与正在解析的请求正文(duh😭)有关,并且它不是Java语言中的本机,因为它显然包含在Express.js中。

Nodemon —引用nodemon网站:

Nodemon是一个实用程序,它将监视源中的任何更改并自动重新启动服务器。 适合发展。

它是如此真棒!

mon代表监视器吗? 😅

猫鼬🐈

我之前曾和Mongoose一起跑步,但今天对它的了解却更多。

直到猫鼬正在帮助集合的模式。 因此,NoSQL毕竟不是那种纯粹的野蛮人。 😅

根据猫鼬的网站,

Mongoose提供了一个直接的,基于模式的解决方案来对您的应用程序数据进行建模。 它包括现成的内置类型转换,验证,查询构建,业务逻辑挂钩等等。

谢谢开发者! 🎉

守则💻

因此,我搜索了一个不错的MongoDB REST API教程,这是第一个为我工作的教程。

看到猫鼬提供的面向对象的风格使我感到很舒服。 我曾经在Laravel的Eloquent ORM中经历过类似的经历。 但是,与其他任何新语言或库一样,在能够充分利用Mongoose之前,我必须先研究文档。

问题

来自PHP背景,我在商店中有很多问题。

  • 如何查看数据库PHPMyAdmin样式? 可能吗?
  • 有在Express中制作MVC的正确方法吗? 我没有太多的自由来设置一切。 我更受限制。
  • 语法er ..对我来说看起来不太漂亮。 真的真的那样吗? 粗体请参阅回调。
  exports.create_a_task = function(req,res){ 
var new_task = new Task(request.body);
new_task.save(function(err,task){
如果(错误)
res.send(err);
res.json(任务);
});
};
  exports.read_a_task = function(req,res){ 
Task.findById(req.params.taskId,function(err,task){
如果(错误)
res.send(err);
res.json(任务);
});
};

我不知道,也许我会检查一些开源项目来有一个更好的主意。

  • 我们来自哪里? 我们去哪?

最后一个问题不过是个玩笑。 这是丹·布朗(Dan Brown)新书中反复出现的问题/主题:我最近正在阅读的起源。 😅👌

猜猜这是所有的时间! 下次再见到我记录在案的学习经历!

谢谢阅读!