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使用mysql模块之获得更新和删除影响的行数的方法
Mar 18 NodeJs
nodejs之请求路由概述
Jul 05 NodeJs
Nodejs进阶:核心模块net入门学习与实例讲解
Nov 21 NodeJs
利用nodejs监控文件变化并使用sftp上传到服务器
Feb 18 NodeJs
深入nodejs中流(stream)的理解
Mar 27 NodeJs
NodeJS基础API搭建服务器详细过程记录
Apr 01 NodeJs
nodejs+express搭建多人聊天室步骤
Feb 12 NodeJs
nodejs爬虫初试superagent和cheerio
Mar 05 NodeJs
nodejs+mongodb aggregate级联查询操作示例
Mar 17 NodeJs
Nodejs异步回调之异常处理实例分析
Jun 22 NodeJs
NodeJS有难度的面试题(能答对几个)
Oct 09 NodeJs
NodeJS多种创建WebSocket监听的方式(三种)
Jun 04 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
十大感人催泪爱情动漫 第一名至今不忍在看第二遍
2020/03/04 日漫
解析php session_set_save_handler 函数的用法(mysql)
2013/06/29 PHP
PHP 7的一些引人注目的新特性简单介绍
2015/11/08 PHP
Yii2主题(Theme)用法详解
2016/07/23 PHP
php命名空间设计思想、用法与缺点分析
2019/07/17 PHP
JavaScript中通过闭包解决只能取得包含函数中任何变量最后一个值的问题
2010/08/12 Javascript
jQuery的事件委托实例分析
2015/07/15 Javascript
JavaScript简单实现鼠标移动切换图片的方法
2016/02/23 Javascript
Angularjs使用directive自定义指令实现attribute继承的方法详解
2016/08/05 Javascript
前端框架Vue.js中Directive知识详解
2016/09/12 Javascript
原生Javascript和jQuery做轮播图简单例子
2016/10/11 Javascript
js中string和number类型互转换技巧(分享)
2016/11/28 Javascript
touch.js 拖动、缩放、旋转 (鼠标手势)功能代码
2017/02/04 Javascript
JS数组搜索之折半搜索实现方法分析
2017/03/27 Javascript
JS实现根据指定值删除数组中的元素操作示例
2018/08/02 Javascript
vue发送websocket请求和http post请求的实例代码
2019/07/11 Javascript
微信小程序从注册账号到上架(图文详解)
2019/07/17 Javascript
[56:35]DOTA2上海特级锦标赛主赛事日 - 5 总决赛Liquid VS Secret第一局
2016/03/06 DOTA
python实现保存网页到本地示例
2014/03/16 Python
Python探索之爬取电商售卖信息代码示例
2017/10/27 Python
Python基本语法之运算符功能与用法详解
2019/10/22 Python
Python 中使用 PyMySQL模块操作数据库的方法
2019/11/10 Python
用Python生成HTML表格的方法示例
2020/03/06 Python
Keras SGD 随机梯度下降优化器参数设置方式
2020/06/19 Python
用python写一个带有gui界面的密码生成器
2020/11/06 Python
Django Model层F,Q对象和聚合函数原理解析
2020/11/12 Python
Farah官方网站:男士服装及配件
2019/11/01 全球购物
农业资源与环境专业自荐信范文
2013/12/30 职场文书
预备党员转正思想汇报
2014/01/12 职场文书
法学院方阵解说词
2014/01/29 职场文书
护士长竞聘书
2014/03/31 职场文书
实习公司领导推荐函
2014/05/21 职场文书
幼儿教师师德师风自我评价
2015/03/05 职场文书
2015年护士节活动策划方案
2015/05/04 职场文书
2019年大学毕业生个人自我鉴定范文大全
2019/03/21 职场文书
python数据库批量插入数据的实现(executemany的使用)
2021/04/30 Python