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 相关文章推荐
Nodejs下DNS缓存问题浅析
Nov 16 NodeJs
Nodejs进阶:如何将图片转成datauri嵌入到网页中去实例
Nov 21 NodeJs
初探nodeJS
Jan 24 NodeJs
nodejs中全局变量的实例解析
Mar 07 NodeJs
nodejs获取微信小程序带参数二维码实现代码
Apr 12 NodeJs
nodejs个人博客开发第四步 数据模型
Apr 12 NodeJs
windows系统下更新nodejs版本的方案
Nov 24 NodeJs
nodejs 生成和导出 word的实例代码
Jul 31 NodeJs
详解从NodeJS搭建中间层再谈前后端分离
Nov 13 NodeJs
NodeJs 模仿SIP话机注册的方法
Jun 21 NodeJs
通过实例了解Nodejs模块系统及require机制
Jul 16 NodeJs
NodeJS配置CORS实现过程详解
Dec 02 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
PHP通过COM使用ADODB的简单例子
2006/12/31 PHP
浅谈PHP中的
2016/04/23 PHP
php lcg_value与mt_rand生成0~1随机小数的效果对比分析
2017/04/05 PHP
解析Jquery的LigerUI如何实现文件上传
2013/07/09 Javascript
js 编码转换 gb2312 和 utf8 互转的2种方法
2013/08/07 Javascript
javascript数组操作方法小结和3个属性详细介绍
2014/07/05 Javascript
JS动态修改图片的URL(src)的方法
2015/04/01 Javascript
JavaScript+html5 canvas绘制的圆弧荡秋千效果完整实例
2016/01/26 Javascript
jQuery EasyUI基础教程之EasyUI常用组件(推荐)
2016/07/15 Javascript
NodeJS设计模式总结【单例模式,适配器模式,装饰模式,观察者模式】
2017/09/06 NodeJs
layui中table表头样式修改方法
2018/08/15 Javascript
JavaScript this绑定过程深入详解
2018/12/07 Javascript
node.js的Express服务器基本使用教程
2019/01/09 Javascript
Vue实现的父组件向子组件传值功能示例
2019/01/19 Javascript
云服务器部署Node.js项目的方法步骤(小白系列)
2020/03/23 Javascript
vue-cli设置publicPath小记
2020/04/14 Javascript
Python中使用hashlib模块处理算法的教程
2015/04/28 Python
python实现爬虫统计学校BBS男女比例(一)
2015/12/31 Python
Python卸载模块的方法汇总
2016/06/07 Python
Python简单操作sqlite3的方法示例
2017/03/22 Python
python实现的二叉树定义与遍历算法实例
2017/06/30 Python
python写程序统计词频的方法
2019/07/29 Python
pip 安装库比较慢的解决方法(国内镜像)
2019/10/06 Python
使用PyQt的QLabel组件实现选定目标框功能的方法示例
2020/05/19 Python
keras实现多GPU或指定GPU的使用介绍
2020/06/17 Python
法国在线药房:Shop Pharmacie
2019/11/26 全球购物
上海某公司.net方向笔试题
2014/09/14 面试题
中专生自荐信
2013/10/12 职场文书
建筑专业自荐信
2013/10/18 职场文书
老干部工作先进集体事迹材料
2014/05/21 职场文书
任命书范本大全
2014/06/06 职场文书
六查六看心得体会
2014/10/14 职场文书
2015年清明节演讲稿范文
2015/03/17 职场文书
招商银行收入证明
2015/06/17 职场文书
springboot 启动如何排除某些bean的注入
2021/08/02 Java/Android
如何使用SQL Server语句创建表
2022/04/12 SQL Server