最近刚开始接触node.js,在做一个博客,在学习过程中,肯定是接触了不少npm的包,主要就是学习使用它的API。现在所写的就是关于mongodb的使用。首先mongodb这个包是用来提供连接和操作mongdb这个数据库的包,如果你的后台数据库是采用的mongodb那么我们将要用到这个包。

首先我们在npm中去搜索这个包,就是第一个

我们点进去去看他的具体信息,我们直接看它的API手册

然后该文档的主页介绍了里面的一些资源文件(js文件)的大致作用:http://mongodb.github.io/node-mongodb-native/2.1/api/

例如:

这里的connection.js主要是用来进行数据库的各项操作的,如果我们要查找相应的api肯定要在这个文件中去找。而且还提示了Collection实例是不能被直接创建的(黑色加粗部分)。

要操作数据库,我们首先就得来连接到数据库,这里有两种方式:

第一种创建MongoClient实例,通过url来连接数据库

var MongoClient = require('mongodb').MongoClient,MongoClient.connect('mongodb://localhost:27017/test', function(err, db) {//todo
}

在这里,查看文档时,很关键的一个就是查看回调函数的说明。err代表连接时候的错误,如果为空说明连接数据库成功,如果失败了,err就不会为空,所以通常回调函数里面我们会进行err的判断,来做对应的处理。db就是连接的数据库。

第二种方式:不使用MongoClient实例来创建,这里面就有多种方式了,这里只举一种

用这种方式连接数据库应该是适用于单数据库服务器的情况下,而且黑体粗体文字表明,在我们使用了MongoClient来连接数据库时,Server是不应该被运用的。

现在我们已经连接了数据库,那么接下来就是要,操作数据库,既然要操作数据库,第一步就应该打开数据库,我们肯定会联想到open这个单词,按照以往的经验。不错连接数据库确实是open方法,它存在于我们DB.js中,是db实例的一个方法。如果有时不知道我们需要的方法的在哪个类中,我们可以在左边的搜索栏中进行搜索。

  mongodb.open(function (err, db) {//mongodb为连接的数据库if (err) {//todo}

    //todo  }

看这个API的使用,一定要去看它对应的回调函数是什么意思。

回调函数对两个参数都做了解释,参数意思很简单,这里就不用说了。当然如果数据库打开成功后执行其他操作产生了错误导致失败,就必须要先关闭数据库,所以close方法也是在db实例中。

既然已经打开数据库了,就可以实施操作数据库了,关于操作数据库的相关方法,在上面提到的Collection类中。最常用的都是增删改查,如果对英文反感,那就看这个吧:

http://www.runoob.com/mongodb/mongodb-tutorial.html

这篇文章主要是讲了如何来学习npm的包,如何来看api。当然我在学习中也有一点感受:

1 英文很重要

2 官网很重要

3 回调函数很重要,尤其是这种代码组织方式,我现在理解的还不够好

转载于:https://www.cnblogs.com/djlxs/p/5509068.html

10分钟教你看懂mongodb的npm包相关推荐

  1. 隐藏esp_仅需一分钟教你看懂汽车内的隐藏功能,哪些功能是你不知道的?

    车内的按键多种多样,而且越高档的车,按键就越多.除了少数国产车,绝大部分车辆的按键标识都是用英文字母表示,从而导致不少车主只能通过查看说明书才知道是什么意思. 今天小编整理了车内各种按键标识,不是很清 ...

  2. 眼镜计算机检查,一分钟教你看懂验光单

    原标题:一分钟教你看懂验光单 每次验光后,医生都会把检查结果附在病历本.R.L.VD.PD.S.C.A--让人眼花缭乱.这些看着像密码一样的字符和数字,很多人直呼看不懂.为了帮助大家更好地了解自己的眼 ...

  3. 计算机主板的结构平面草图,10分钟浓缩10年 教你看懂主板基本结构

    什么?装机员又拿AM3的CPU往A88上面装了?隔壁老王又买了个H61来配i3-4160?这年头,玩DIY的人少,懂DIY的人也少,想当年啊--打住,还是不想当年了,来点实际的,10分钟浓缩10年,瞬 ...

  4. centos开机自动挂载磁盘_3分钟教你看懂linux磁盘划分

    前几天遇到了这样一个情景: 一个服务器是以虚拟机的形式提供的,通过df -h看服务器磁盘空间只有30多个G,但通过fdisk -l看发现有一个160G的磁盘空间 没有挂载,因此需要在不重启的前提下将1 ...

  5. 手机相机好坏测试软件,教你一分钟教你看懂手机拍照好坏!

    欢迎转载,请注明出处,抄袭必究! 摄像头好坏怎么看 在这个手机拍照时刻叫嚣单反的年代,在选购手机时,拍照好坏与否也逐渐成为我们选购的重要考虑因素之一. 多少人像教授一样,曾经天真的以为手机像素越大拍照 ...

  6. 绝对干货!风控实战数据解析,1分钟教你看懂运营商大数据!

    随着金融与科技的深度结合,大数据风控已经被大部分金融机构所认知并接受,各个大小金融机构平台基本都已经接入大数据风控系统,依靠多维度大数据综合信息,实现对借款人的智能风控和精准授信. 大数据风控在提高审 ...

  7. 一分钟教你看懂蓝屏代码,轻松解决电脑蓝屏问题

    微软为了我们电脑中的资料安全可以说煞费苦心设计了很多有效的防护机制,其中蓝屏就是一个很好的给保护机制,接下来小编就提供一些经常出现的电脑蓝屏代码给大家. 电脑蓝屏问题可以说只要使用过电脑朋友都遇到过, ...

  8. 一图看懂鸿蒙股票,近五个交易日鸿蒙2.0概念股市复盘数据,一分钟教你看懂(5月1日)...

    鸿蒙2.0概念近五个交易日股市走势复盘数据,以下股票值得关注: 2021-04-30复盘:普遍报跌 蓝盾股份(3.290,-0.320,-8.864%)领跌,先进数通(14.790,-0.620,-4 ...

  9. 什么是NIO?10分钟带你看懂IO和NIO底层原理

    目录 一.首先,我们来了解一下Java IO的读写原理: 1.1.内核缓冲与进程缓冲区 1.2. java IO读写的底层流程 二.四种主要的IO模型 1.3. 同步阻塞IO(Blocking IO) ...

最新文章

  1. linux python fcntl模块 程序加锁 简介
  2. MySQL创建视图(CREATE VIEW)
  3. python自动化测试书籍推荐豆瓣_推荐几本自动化测试的书籍
  4. 发送自定义IP包(测试中:第二版)
  5. char * 转LPCTSTR若干方法
  6. 解决ERROR 1396 (HY000): Operation ALTER USER failed for root@localhost
  7. InfoQ就Spring Boot 2.0 GA版发布采访了项目牵头人Phil Webb
  8. 在WPF中自定义你的绘制(二)
  9. 【数据科学】kNN算法笔记
  10. java入学测试_OLI 课程 Java入学考试的五道题
  11. Java调用第三方平台发送手机短信
  12. 来啦!iphone ios免越狱,个性化修改微信提示音!
  13. php草莓派,甜品控的减脂早餐,这样做低卡又裹腹,草莓派香蕉派,好吃分享了...
  14. python极简讲义(张玉宏著)的几处补充说明
  15. Word无法找到宏或宏被禁用如何解决
  16. cad2018致命错误unhandled_CAD打不开出现致命错误的四种解决办法
  17. Leetcode 面试题 08.01. 三步问题
  18. 阿里云RAM访问控制
  19. yiii2生成验证码以及刷新验证码
  20. 巫师3计算机,游戏测试:巫师3_联想笔记本电脑_笔记本评测-中关村在线

热门文章

  1. 通过Runtime源码了解关联对象的实现
  2. YunTable开发日记(3) – BigTable的数据模型和调用接口 (转载)
  3. CentOS LAMP一键安装网站环境及添加域名
  4. 《深入理解ES6》笔记——Set集合与Map集合(7)
  5. jquery - 动态绑定事件
  6. C++设计模式——适配器模式(对象适配器、类适配器)
  7. 新增的querySelector、querySelectorAll测试
  8. JMS分布式应用程序异步消息解决方案EhCache 高速缓存同步问题
  9. linux 下 Nginx 0.8.40的安装
  10. iOS各平台直播SDK收费明细