前言
众所周知JS是脚本语言,脚本语言都需要一个解析器才能运行。对于写在HTML页面里的JS,浏览器充当了解析器的角色。而对于需要独立运行的JS,NodeJS就是一个解析器。
每一种解析器都是一个运行环境,不但允许JS定义各种数据结构,进行各种计算,还允许JS使用运行环境提供的内置对象和方法做一些事情。例如运行在浏览器中的JS的用途是操作DOM,浏览器就提供了document之类的内置对象。而运行在NodeJS中的JS的用途是操作磁盘文件或搭建HTTP服务器,NodeJS就相应提供了fs、http等内置对象。
本文会把一个对象todo对象(有属性{id,name})存储到Mongodb,做查询删除的测试(Create Remove Delete = CRD)。这个测试包括使用Mongodb Shell,使用CallBack古典风格的访问代码,以及使用Await/Async的现代风格的代码。完成这个这个验证后,就可以掌握最初步的Mongodb了。
我使用的Nodejs是10.7 。操作系统环境为Mac OS X High Sierra。
准备环境
安装和运行Mongodb Daemon
访问验证
首先执行Mongodb Shell:
创建一个数据库
(若database不存在,则会创建一个,此时若不做任何操作直接退出,则MongoDB会删除该数据库)
查询 :
{ "_id" : ObjectId("5b727c7046b6c71a98d3af53"),"id" : 2,"name" : "reta" }
删除记录:
使用nodejs方式访问Mongodb
使用nodejs执行类似Shell对对象的CRD,代码如下:
代码非常简单,无需更多解释。此代码使用了mongodb模块,需要首先安装:
然后使用node index.js运行即可看到效果:
利用高级异步特性
使用Await/Async特性,可以有效的减少代码中的回调地狱现象。同样的功能,可以使用这样的代码:
Number of documents inserted: 2 [ { _id: 5b72ae8a1c674a6ac1c5aa6e, { _id: 5b72ae8a1c674a6ac1c5aa6f,name: 'rita' } ] document deleted
总结:
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对编程之家的支持。
原文链接:https://www.f2er.com/nodejs/30491.html