MongoDB 的编程操作

MongoDB 系列文章:

前面文章首先介绍了 MongoDB 数据库系统的安装,接着介绍了 MongoDB 的 Shell 工具来操作数据库,掌握了命令行对数据库的增、删、改、查,四个基本操作。现在来介绍,如何用 JavaScript 编程语言来操作 MongoDB 数据库。

假设有一个编程任务,希望在 node.js 程序中将数据持久保存到 MongoDB 数据库中,请问这样的编程任务该如何实现呢?

下面咱们通过具体案例,展示用 JavaScript 程序实现对 MongoDB 数据库的增、删、改、查四个基本操作。当然,在操作之前,首先需要安装数据库操作的 Node.js 第三方模块:mongodb。

npm install mongodb

然后,编写下面的 opt-mongo.js 代码文件。

#!/usr/bin/node

var MongoClient = require('mongodb').MongoClient,
    assert = require('assert');

var url = 'mongodb://localhost:27017/todo';
MongoClient.connect(url, function(err, db) {
  assert.equal(null, err);

  //db.collection('todo').insertOne({"item": "have break"});
  db.collection('todo').updateOne({"item": "have breakfast"}, {"itrem": "have launch"});
  //db.collection('todo').deleteOne({"item": "have break"});
  find(db, function() {db.close();});
});

function find(db, cb) {
  var cursor = db.collection('todo').find();

  cursor.each(function(err, doc) {
    if(doc !== null) { console.log(doc); } else { cb(); }
  });
}

程序说明:

  1. 首先引用 MongoDB 的客户端,通过客户端可以和 MongoDB 服务器建立连接;
  2. 引用 assert 断言模块,判断连接是否出错;
  3. 定义变量 url 保存 MongoDB 服务器的地址,假设咱们操作的是 todo 待办事项列表的数据库;
  4. 调用客户端的 connect 方法,连接 MongoDB 数据库;
  5. 回调函数两个参数,第一个参数是 Error 对象,第二个参数是数据库对象;
  6. 增、删、改、查四个操作都在数据库对象上做操作;
  7. 先定义一个查询函数 find,两个参数,第一个参数是数据库对象,第二个参数是回调函数;
  8. find 函数中,你会发现 JavaScript 编程的 API 和 MongoDB Shell 的 API 几乎相同;
  9. find 函数定义好了,在连接方法的回调里面调用 find 方法;
  10. 执行程序,看一下数据库查询的效果;
  11. 然后,再查询语句前面分别添加:增、删和改,三条语句;
  12. 每添加一个语句,在命令行运行,查看效果;
  13. 注释掉语句,然后再增加下一条语句;

通过上面的案例代码,看到了对 MongoDB 数据库编程操作的简单和易用。这个文章只介绍了,增、删、改、查四个基本操作的 API,作为抛砖引玉。如果希望更进一步的学习,请参考 MongoDB API 的官方文档。Node.js 原生 API 没有关于数据库操作的模块,对于数据库操作都是使用第三方模块来完成。另外一个常用的第三方模块是 Mongoose 大家可以自行查阅相关资料。

如果这个文章对你有用,请点赞并收藏!

    原文作者:王顶
    原文地址: https://segmentfault.com/a/1190000012855210
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞