资讯专栏INFORMATION COLUMN

MongoDB 的编程操作

dkzwm / 1575人阅读

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

MongoDB 系列文章:

MongoDB 的 yum 安装

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(); }
  });
}

程序说明:

首先引用 MongoDB 的客户端,通过客户端可以和 MongoDB 服务器建立连接;

引用 assert 断言模块,判断连接是否出错;

定义变量 url 保存 MongoDB 服务器的地址,假设咱们操作的是 todo 待办事项列表的数据库;

调用客户端的 connect 方法,连接 MongoDB 数据库;

回调函数两个参数,第一个参数是 Error 对象,第二个参数是数据库对象;

增、删、改、查四个操作都在数据库对象上做操作;

先定义一个查询函数 find,两个参数,第一个参数是数据库对象,第二个参数是回调函数;

find 函数中,你会发现 JavaScript 编程的 API 和 MongoDB Shell 的 API 几乎相同;

find 函数定义好了,在连接方法的回调里面调用 find 方法;

执行程序,看一下数据库查询的效果;

然后,再查询语句前面分别添加:增、删和改,三条语句;

每添加一个语句,在命令行运行,查看效果;

注释掉语句,然后再增加下一条语句;

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

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

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/19178.html

相关文章

  • 华为官方首发Spring响应式微服务,Spring+Boot+Cloud三管齐下

    摘要:今天小编就来分享一份华为刚刚首发的响应式微服务实战这份主要包含响应式微服务架构实现过程中所应具备的技术体系和工程实践,在组织结构上分如下篇。 今天小编就来分享一份华为刚刚首发的Spring响应式微服务(Spring Boot 2+Spring 5+Spring Cloud实战)! 这份PDF...

    cangck_X 评论0 收藏0
  • MongoDB 命令操作

    摘要:文档是的核心概念,文档是操作数据库的最小单元。等你了解这这些命令或者函数,你再尝试在脚本代码中操作数据库,你会发现这种非常容易上手。 MongoDB 系列文章: MongoDB 的 yum 安装 MongoDB 的命令操作 MongoDB 的编程操作 在介绍 MongoDB 的具体操作和使用之前,有必要介绍一些 MongoDB 的基本概念,有了这些基础和知识铺垫,后面的操作,才会掌...

    Eastboat 评论0 收藏0
  • MongoDB第一发:简介,CRUD,设计。(上)

    摘要:学习已经有三周了,是时候来一发学习总结啦。相关简介是非关系型的数据库。简单在于,所有的都由大括号,中括号,以及对构成。不同于,它是同步的。 学习mongoDB已经有三周了,是时候来一发学习总结啦。以下是个人学习心得总结,非官方,可能有纰漏和不准确之处,欢迎指正。 相关简介 1.mongoDB是非关系型(nosql)的数据库。 2.mongoDB是无模式(schemaless)的数...

    leo108 评论0 收藏0
  • MongoDB漫谈数据库

    摘要:可水平扩展,可以添加更多服务器来扩展您的数据库需要管理员是否开发人员和管理员都可以使用适用场景会计师事务所和银行,以及需要具有清晰架构的结构化数据的其他公司。 今天的主题是从MongoDB漫谈数据库,在日常的项目中,我们一般都是使用的mysql作为数据库,但是一旦有问题,又常常会听到类似要不换成MongoDB试试的声音,因此就让我们这些小白来随便聊聊数据库 什么是数据库 我们就用最简单...

    Carl 评论0 收藏0
  • MongoDB漫谈数据库

    摘要:可水平扩展,可以添加更多服务器来扩展您的数据库需要管理员是否开发人员和管理员都可以使用适用场景会计师事务所和银行,以及需要具有清晰架构的结构化数据的其他公司。 今天的主题是从MongoDB漫谈数据库,在日常的项目中,我们一般都是使用的mysql作为数据库,但是一旦有问题,又常常会听到类似要不换成MongoDB试试的声音,因此就让我们这些小白来随便聊聊数据库 什么是数据库 我们就用最简单...

    Panda 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<