NodeJS中的MongoDB快速入门详细教程


Posted in NodeJs onNovember 11, 2016

MongoDB 是一个基于分布式文件存储的数据库。由 C++ 语言编写。旨在为 WEB 应用提供可扩展的高性能数据存储解决方案。

MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。

一、MongoDB必须理解的概念

1.数据库:每个数据库都有自己的权限和集合。

2.文档:一个键值对。

3.集合:一组文档,即一组键值对。当第一个文档插入时,集合就会被创建。

二、Mac下的MongoDB安装和启动

1.使用brew进行安装:brew install mongodb。

2.建立目录:mkdir -p /data/db。这样建立的是mongodb配置中的默认目录。

3.设置/data/db的权限为可读可写:chown `id -u` /data/db。

4.运行mongod命令,开启服务器。

5.新建一个命令终端,输入mongo,进入mongo命令行工具(mongod命令不能暂停)这样就可以在mongo命令行工具中输入各种mongo命令了。

三、MongoDB命令行的基本操作

1.show dbs:查看数据库

2.show collections:查看当前数据库的集合

3.db.COLLECTION_NAME.find():查看该集合下的所有文档

4.use DATABASE_NAME:使用某个数据库

5.db.COLLECTION_NAME.insert({“key”:”value”,””:””......}):向某个集合中插入文档(注意格式)

6.db.COLLECTION_NAME.find({“a”:1}):查找a值为1的文档

7.db.dropDatabase():删除当前正在use的数据库

四、在Node中使用MongoDB

1.安装

在项目目录下执行命令:npm install mongodb —save-dev

要注意的是,必须先按照上面的要求安装好MongoDB才能正常使用NodeJS中的Mongodb。

2.基本使用

(1)连接数据库:

<span style="font-family: Arial, Helvetica, sans-serif;">var MongoClient = require(‘mongodb').MongoClient; //引入mongodb</span> 
[javascript] view plain copy print?在CODE上查看代码片派生到我的代码片
var url = ‘mongodb://localhost:27017/testProject' //设定连接的url,注意前半部分是mongodb数据库端口等,testProject是要创建的数据库,可自己命名 
MongoClient.connect(url, function(err, db){ 
//…注意其中的db就指定的是当前数据库 
})

(2)创建集合db.createCollection()

var MongoClient = require('mongodb').MongoClient; 
var url = 'mongodb://localhost:27017/myproject'; 
MongoClient.connect(url, function(err, db) { 
console.log("Connected successfully to server"); 
db.createCollection("myCollection", { "capped": true, "size": 100000, "max": 5000}, function(err, results){ 
console.log("集合创建成功") 
}) 
});

(3)在集合中插入文档collection.insertMany()

var collection = db.collection("myCollection"); //选择某一个集合 
collection.insertMany([{a:1},{b:2},{c:3}],function(err, result){ //插入数据,这里插入了三条数据 
console.log("插入成功"); 
})

这里插一句,每次执行我们的node代码之后,都可以在数据库中进行结果查看,验证我们的操作。比如这里可以使用db.myCollection.find()来查看我们是否成功写入纪录。

(4)查找文档

查找所有文档:

var collection = db.collection("myCollection"); 
<span style="white-space:pre"> </span>collection.find({}).toArray(function(err, docs){ 
<span style="white-space:pre"> </span>console.log(docs); //其中的docs就是获取到的结果 
});

查找符合条件的文档内容:

collection.find({“a”:1}).toArray(function(err, docs){ 
<span style="white-space:pre"> </span>console.log(docs); //返回复合条件的内容 
});

以上所述是小编给大家介绍的NodeJS中的MongoDB快速入门详细教程,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

NodeJs 相关文章推荐
Ubuntu中搭建Nodejs开发环境过程分享
Jun 01 NodeJs
如何正确使用Nodejs 的 c++ module 链接到 OpenSSL
Aug 03 NodeJs
nodejs教程之制作一个简单的文章发布系统
Nov 21 NodeJs
nodejs中转换URL字符串与查询字符串详解
Nov 26 NodeJs
NodeJS中Buffer模块详解
Jan 07 NodeJs
详解nodejs微信公众号开发——1.接入微信公众号
Apr 10 NodeJs
Nodejs中使用captchapng模块生成图片验证码
May 18 NodeJs
nodejs socket实现的服务端和客户端功能示例
Jun 02 NodeJs
nodejs mysql 实现分页的方法
Jun 06 NodeJs
Nodejs中使用phantom将html转为pdf或图片格式的方法
Sep 18 NodeJs
nodejs通过钉钉群机器人推送消息的实现代码
May 05 NodeJs
Nodejs监控事件循环异常示例详解
Sep 22 NodeJs
Nodejs中解决cluster模块的多进程如何共享数据问题
Nov 10 #NodeJs
NodeJS整合银联网关支付(DEMO)
Nov 09 #NodeJs
nodejs的HTML分析利器node-jquery用法浅析
Nov 08 #NodeJs
Jquery通过ajax请求NodeJS返回json数据实例
Nov 08 #NodeJs
NodeJS和BootStrap分页效果的实现代码
Nov 07 #NodeJs
NodeJS使用formidable实现文件上传
Oct 27 #NodeJs
nodejs简单实现操作arduino
Sep 25 #NodeJs
You might like
一个基于PDO的数据库操作类(新) 一个PDO事务实例
2011/07/03 PHP
工厂模式在Zend Framework中应用介绍
2012/07/10 PHP
PHP实现的登录,注册及密码修改功能分析
2016/11/25 PHP
JavaScript中String和StringBuffer的速度之争
2010/04/01 Javascript
JS执行删除前的判断代码
2014/02/18 Javascript
开源的javascript项目Kissy介绍
2014/11/28 Javascript
JS实现的ajax和同源策略(实例讲解)
2017/12/01 Javascript
简单的vuex 的使用案例笔记
2018/04/13 Javascript
你不知道的Vue技巧之--开发一个可以通过方法调用的组件(推荐)
2019/04/15 Javascript
JavaScript表格隔行变色和Tab标签页特效示例【附jQuery版】
2019/07/11 jQuery
解决Vue打包后访问图片/图标不显示的问题
2019/07/25 Javascript
通过javascript实现扫雷游戏代码实例
2020/02/09 Javascript
[55:26]DOTA2-DPC中国联赛 正赛 Aster vs LBZS BO3 第一场 2月23日
2021/03/11 DOTA
Python文件和流(实例讲解)
2017/09/12 Python
Python实现简易版的Web服务器(推荐)
2018/01/29 Python
Python推导式简单示例【列表推导式、字典推导式与集合推导式】
2018/12/04 Python
对python的bytes类型数据split分割切片方法
2018/12/04 Python
Python命名空间的本质和加载顺序
2018/12/17 Python
Python3中exp()函数用法分析
2019/02/19 Python
简单了解python的内存管理机制
2019/07/08 Python
浅谈pytorch、cuda、python的版本对齐问题
2020/01/15 Python
Python导入父文件夹中模块并读取当前文件夹内的资源
2020/11/19 Python
CSS3+JavaScript实现炫酷呼吸效果的示例代码
2020/06/15 HTML / CSS
欧洲高端品牌直销店:Fashionesta
2016/08/31 全球购物
Ted Baker英国官网:男士和女士服装及配件
2017/03/13 全球购物
定义一结构体变量,用其表示点坐标,并输入两点坐标,求两点之间的距离
2015/08/17 面试题
会计毕业自我鉴定
2014/02/05 职场文书
成人继续教育实施方案
2014/03/01 职场文书
经典演讲稿汇总
2014/05/19 职场文书
党的群众路线教育实践活动个人对照检查材料范文
2014/09/25 职场文书
用电申请报告范文
2015/05/18 职场文书
2015年秋季开学典礼校长致辞
2015/07/16 职场文书
MySQL 慢查询日志深入理解
2021/04/22 MySQL
MySQL8.0.24版本Release Note的一些改进点
2021/04/22 MySQL
Python连续赋值需要注意的一些问题
2021/06/03 Python
《勇者辞职不干了》ED主题曲无字幕动画MV公开
2022/04/13 日漫