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
Windows系统中安装nodejs图文教程
Feb 28 NodeJs
浅谈NodeJS中require路径问题
May 07 NodeJs
基于nodejs+express4.X实现文件下载的实例代码
Jul 13 NodeJs
浅谈nodejs中的类定义和继承的套路
Jul 26 NodeJs
详解nodejs中express搭建权限管理系统
Sep 15 NodeJs
原生nodejs使用websocket代码分享
Apr 07 NodeJs
nodeJS模块简单用法示例
Apr 21 NodeJs
nodejs 生成和导出 word的实例代码
Jul 31 NodeJs
详解nodejs解压版安装和配置(带有搭建前端项目脚手架)
Dec 06 NodeJs
用Electron写个带界面的nodejs爬虫的实现方法
Jan 29 NodeJs
nodejs的安装使用与npm的介绍
Sep 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桌面中心(一) 创建数据库
2007/03/11 PHP
PHP的简易冒泡法代码分享
2012/08/28 PHP
关于php 接口问题(php接口主要也就是运用curl,curl函数)
2013/07/01 PHP
php后台如何避免用户直接进入方法实例
2013/10/15 PHP
php去除html标记的原生函数详解
2015/01/27 PHP
php自动更新版权信息显示的方法
2015/06/19 PHP
PHP读MYSQL中文乱码的快速解决方法
2016/10/01 PHP
Centos7.7 64位利用本地完整安装包安装lnmp/lamp套件教程
2021/03/09 Servers
Javascript引用指针使用介绍
2012/11/07 Javascript
js判断选择时间不能小于当前时间的示例代码
2013/09/24 Javascript
JavaScript 垃圾回收机制分析
2013/10/10 Javascript
JS(JQuery)操作Array的相关方法介绍
2014/02/11 Javascript
深入分析JSONP跨域的原理
2014/12/10 Javascript
PHP配置文件php.ini中打开错误报告的设置方法
2015/01/09 PHP
JavaScript实现通过select标签跳转网页的方法
2016/09/29 Javascript
jQuery中的deferred使用方法
2017/03/27 jQuery
Vue中的基础过渡动画及实现原理解析
2018/12/04 Javascript
国内常用的js类库大全(CDN公共库)
2020/06/24 Javascript
解决vant框架做H5时踩过的坑(下拉刷新、上拉加载等)
2020/11/11 Javascript
Python简单进程锁代码实例
2015/04/27 Python
Python实现采用进度条实时显示处理进度的方法
2017/12/19 Python
Python+pandas计算数据相关系数的实例
2018/07/03 Python
梅尔倒谱系数(MFCC)实现
2019/06/19 Python
python用WxPython库实现无边框窗体和透明窗体实现方法详解
2020/02/21 Python
[原创]赚疯了!转手立赚800+?大佬的python「抢茅台脚本」使用教程
2021/01/12 Python
倩碧美国官网:Clinique美国
2016/07/20 全球购物
蒙蒂塞罗商店:Monticello Shop
2018/11/25 全球购物
应届大学生的推荐信
2013/11/20 职场文书
国贸专业的职业规划书
2014/03/15 职场文书
小学语文教师年度考核个人总结
2015/02/05 职场文书
农村结婚典礼主持词
2015/06/29 职场文书
副校长2015年教育教学工作总结
2015/07/27 职场文书
小学班主任培训心得体会
2016/01/07 职场文书
详解如何在Canvas中添加事件的方法
2021/04/17 Javascript
如何用JavaScript实现一个数组惰性求值库
2021/05/05 Javascript
CSS 左边固定宽右边自适应的6种方法
2022/05/15 HTML / CSS