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+express+html5 实现拖拽上传
Aug 08 NodeJs
nodejs教程之制作一个简单的文章发布系统
Nov 21 NodeJs
Nodejs如何复制文件
Mar 09 NodeJs
Nodejs中解决cluster模块的多进程如何共享数据问题
Nov 10 NodeJs
nodejs个人博客开发第二步 入口文件
Apr 12 NodeJs
使用nodejs爬取前程无忧前端技能排行
May 06 NodeJs
用nodejs实现json和jsonp服务的方法
Aug 25 NodeJs
详解IWinter 一个路由转控制器的 Nodejs 库
Nov 15 NodeJs
nodejs爬虫初试superagent和cheerio
Mar 05 NodeJs
详解redis在nodejs中的应用
May 02 NodeJs
nodejs如何在package.json中设置多条启动命令
Mar 16 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异常处理技术,顶级异常处理器
2012/06/13 PHP
PHP utf-8编码问题,utf8编码,数据库乱码,页面显示输出乱码
2013/04/08 PHP
深入array multisort排序原理的详解
2013/06/18 PHP
thinkphp获取栏目和文章当前位置的方法
2014/10/29 PHP
PHP实现C#山寨ArrayList的方法
2015/07/16 PHP
php使用curl并发减少后端访问时间的方法分析
2016/05/12 PHP
php注册系统和使用Xajax即时验证用户名是否被占用
2017/08/31 PHP
PHP+MariaDB数据库操作基本技巧备忘总结
2018/05/21 PHP
Jquery ThickBox插件使用心得(不建议使用)
2010/09/08 Javascript
jQuery中绑定事件的命名空间详解
2011/04/05 Javascript
javascript实现无限级select联动菜单
2015/01/02 Javascript
javascript生成大小写字母
2015/07/03 Javascript
jQuery插件简单实现方法
2015/07/18 Javascript
jquery滚动条插件slimScroll使用方法
2017/02/09 Javascript
Webpack常见静态资源处理-模块加载器(Loaders)+ExtractTextPlugin插件
2017/06/29 Javascript
详解Vue.js组件可复用性的混合(mixin)方式和自定义指令
2017/09/06 Javascript
Vue 2.0学习笔记之Vue中的computed属性
2017/10/16 Javascript
原生js实现简单的焦点图效果实例
2017/12/14 Javascript
Python程序设计入门(5)类的使用简介
2014/06/16 Python
Python采用raw_input读取输入值的方法
2014/08/18 Python
python3.4.3下逐行读入txt文本并去重的方法
2018/04/29 Python
Python实现重建二叉树的三种方法详解
2018/06/23 Python
python登录WeChat 实现自动回复实例详解
2019/05/28 Python
用pycharm开发django项目示例代码
2019/06/13 Python
pytorch GAN伪造手写体mnist数据集方式
2020/01/10 Python
Python pathlib模块使用方法及实例解析
2020/10/05 Python
运行python提示no module named sklearn的解决方法
2020/11/29 Python
判断单链表中是否存在环
2012/07/16 面试题
大学专科生推荐信范文
2013/11/23 职场文书
优秀毕业生自荐信范文
2014/01/01 职场文书
社区安全检查制度
2014/02/03 职场文书
踏青活动策划方案
2014/08/19 职场文书
小学英语复习计划
2015/01/19 职场文书
小升初自荐信范文
2015/03/05 职场文书
2016五一劳动节慰问信
2015/11/30 职场文书
css 中多种边框的实现小窍门
2021/04/07 HTML / CSS