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 提示‘xxx’ 不是内部或外部命令解决方法
Nov 20 NodeJs
Nodejs实现的一个静态服务器实例
Dec 06 NodeJs
nodeJs爬虫获取数据简单实现代码
Mar 29 NodeJs
Nodejs 搭建简单的Web服务器详解及实例
Nov 30 NodeJs
Nodejs多站点切换Htpps协议详解及简单实例
Feb 23 NodeJs
详解nodejs微信公众号开发——6.自定义菜单
Apr 13 NodeJs
详解使用PM2管理nodejs进程
Oct 24 NodeJs
Nodejs下使用gm圆形裁剪并合成图片的示例
Feb 22 NodeJs
Nodejs Express 通过log4js写日志到Logstash(ELK)
Aug 30 NodeJs
详解nodejs 开发企业微信第三方应用入门教程
Mar 12 NodeJs
NodeJs内存占用过高的排查实战记录
May 10 NodeJs
分享node.js实现简单登录注册的具体代码
Apr 26 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调用shell的方法
2014/11/05 PHP
PHP图片水印类的封装
2017/07/06 PHP
jQuery 表格插件整理
2010/04/27 Javascript
15个款优秀的 jQuery 图片特效插件推荐
2011/11/21 Javascript
node.js chat程序如何实现Ajax long-polling长链接刷新模式
2012/03/13 Javascript
jQuery 利用$.ajax 时获取原生XMLHttpRequest 对象的方法
2016/08/25 Javascript
jQuery插件HighCharts绘制的基本折线图效果示例【附demo源码下载】
2017/03/07 Javascript
JavaScript箭头(arrow)函数详解
2017/06/04 Javascript
angularjs下拉框空白的解决办法
2017/06/20 Javascript
js移动端事件基础及常用事件库详解
2017/08/15 Javascript
Vue press 支持图片放大功能的实例代码
2018/11/09 Javascript
微信小程序文字显示换行问题
2019/07/28 Javascript
JavaScript JSON使用原理及注意事项
2020/07/30 Javascript
[01:15:45]DOTA2上海特级锦标赛B组小组赛#1 Alliance VS Spirit第一局
2016/02/26 DOTA
[06:45]2018DOTA2亚洲邀请赛 4.5 SOLO赛 Sccc vs Maybe
2018/04/06 DOTA
Python语言技巧之三元运算符使用介绍
2013/03/04 Python
Python函数式编程
2017/07/20 Python
python中使用psutil查看内存占用的情况
2018/06/11 Python
Python数据可视化库seaborn的使用总结
2019/01/15 Python
使用Python3+PyQT5+Pyserial 实现简单的串口工具方法
2019/02/13 Python
Python魔法方法功能与用法简介
2019/04/04 Python
在Qt中正确的设置窗体的背景图片的几种方法总结
2019/06/19 Python
利用Python绘制有趣的万圣节南瓜怪效果
2019/10/31 Python
PyQt5事件处理之定时在控件上显示信息的代码
2020/03/25 Python
使用CSS3创建动态菜单效果
2015/07/10 HTML / CSS
英国的知名精品百货公司:House of Fraser(福来德)
2016/08/14 全球购物
美国时尚配饰品牌:Dooney & Bourke
2017/11/14 全球购物
德国高端单身人士交友网站:ElitePartner
2018/12/02 全球购物
活动邀请函范文
2014/01/19 职场文书
计算机专业优秀大学生自我总结
2014/01/21 职场文书
导游个人求职信范文
2014/03/23 职场文书
职务任命书范本
2014/06/05 职场文书
优秀英文求职信范文
2015/03/19 职场文书
八月迷情观后感
2015/06/11 职场文书
导游词之杭州岳王庙
2019/11/13 职场文书