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写的一个简单项目打包工具
May 11 NodeJs
Nodejs极简入门教程(一):模块机制
Oct 25 NodeJs
PHP和NodeJs开发的应用如何共用Session
Apr 16 NodeJs
nodejs初步体验篇
Nov 23 NodeJs
nodejs加密Crypto的实例代码
Jul 07 NodeJs
使用nodejs爬取前程无忧前端技能排行
May 06 NodeJs
基于nodejs 的多页面爬虫实例代码
May 31 NodeJs
详解nodeJs文件系统(fs)与流(stream)
Jan 24 NodeJs
nodejs实现解析xml字符串为对象的方法示例
Mar 14 NodeJs
nodejs更改项目端口号的方法
May 13 NodeJs
基于Koa(nodejs框架)对json文件进行增删改查的示例代码
Feb 02 NodeJs
NodeJs生成sitemap站点地图的方法示例
Jun 11 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实现快速排序的三种方法分享
2014/03/12 PHP
PDO防注入原理分析以及注意事项
2015/02/25 PHP
PHP实现递归复制整个文件夹的类实例
2015/08/03 PHP
Thinkphp实现自动验证和自动完成
2015/12/19 PHP
CI框架实现创建自定义类库的方法
2018/12/25 PHP
JavaScript中“+=”的应用
2007/02/02 Javascript
Convert Seconds To Hours
2007/06/16 Javascript
JQuery 动画卷页 返回顶部 动画特效(兼容Chrome)
2010/02/15 Javascript
基于JQuery的一句代码实现表格的简单筛选
2010/07/26 Javascript
js TextArea的选中区域处理
2010/12/28 Javascript
Javascript和HTML5利用canvas构建Web五子棋游戏实现算法
2013/07/17 Javascript
js判断输入是否为数字的具体实例
2013/08/03 Javascript
Javascript验证上传图片大小[前台处理]
2014/07/18 Javascript
浅谈JSON和JSONP区别及jQuery的ajax jsonp的使用
2014/11/23 Javascript
javascript图片预加载完整实例
2015/12/10 Javascript
老生常谈ES6中的类
2017/07/31 Javascript
Node.js微信 access_token ( jsapi_ticket ) 存取与刷新的示例
2017/09/30 Javascript
laravel5.3 vue 实现收藏夹功能实例详解
2018/01/21 Javascript
基于js实现抽红包并分配代码实例
2019/09/19 Javascript
vue 动态生成拓扑图的示例
2021/01/03 Vue.js
JavaScript 中的执行上下文和执行栈实例讲解
2021/02/25 Javascript
Python中使用PDB库调试程序
2015/04/05 Python
python 多维切片之冒号和三个点的用法介绍
2018/04/19 Python
Django 多环境配置详解
2019/05/14 Python
Python内置加密模块用法解析
2019/11/25 Python
Python实现直播推流效果
2019/11/26 Python
pycharm激活码有效到2020年11月底
2020/09/18 Python
ellesse美国官方商店:意大利高级运动服品牌
2019/10/29 全球购物
有abstract方法的类一定要用abstract修饰吗
2016/03/14 面试题
行政助理求职自荐信
2013/10/26 职场文书
开办化妆品公司创业计划书
2013/12/26 职场文书
房地产开发项目建议书
2014/05/16 职场文书
优秀团队申报材料
2014/12/26 职场文书
2015年双拥工作总结
2015/04/08 职场文书
北京爱情故事观后感
2015/06/12 职场文书
MySQL 中如何归档数据的实现方法
2022/03/16 SQL Server