zoukankan      html  css  js  c++  java
  • 10分钟教你看懂mongodb的npm包

    最近刚开始接触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 回调函数很重要,尤其是这种代码组织方式,我现在理解的还不够好

  • 相关阅读:
    程序员:不要自称为码农
    SpringBoot对静态资源配置
    LeetCode 572. Subtree of Another Tree(子树)
    LeetCode 437. Path Sum III(统计路径和等于sum的路径数量)
    LeetCode 112. Path Sum(判断路径和是否等于一个数)
    LeetCode 617. Merge Two Binary Trees(归并两棵二叉树)
    LeetCode 226. Invert Binary Tree(翻转二叉树)
    Failure to transfer org.apache.maven.plugins:maven-resources-plugin:pom:2.6 的解决办法
    linux-查询某软件的安装的目录
    WebService概念解释
  • 原文地址:https://www.cnblogs.com/djlxs/p/5509068.html
Copyright © 2011-2022 走看看