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 相关文章推荐
golang、python、php、c++、c、java、Nodejs性能对比
Mar 12 NodeJs
利用NodeJS的子进程(child_process)调用系统命令的方法分享
Jun 05 NodeJs
nodejs教程之环境安装及运行
Nov 21 NodeJs
Nodejs中调用系统命令、Shell脚本和Python脚本的方法和实例
Jan 01 NodeJs
nodejs中使用多线程编程的方法实例
Mar 24 NodeJs
Highcharts+NodeJS搭建数据可视化平台示例
Jan 01 NodeJs
nodejs实现发出蜂鸣声音(系统报警声)的方法
Jan 18 NodeJs
实例分析nodejs模块xml2js解析xml过程中遇到的坑
Mar 18 NodeJs
nodejs服务搭建教程 nodejs访问本地站点文件
Apr 07 NodeJs
nodejs个人博客开发第二步 入口文件
Apr 12 NodeJs
M2实现Nodejs项目自动部署的方法步骤
May 05 NodeJs
详解nodejs内置模块
May 06 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制作简单的内容采集器的原理分析
2008/10/01 PHP
ThinkPHP自动验证失败的解决方法
2011/06/09 PHP
PHP实现动态web服务器方法
2015/07/29 PHP
PHP计算近1年的所有月份
2017/03/13 PHP
JQuery Tips(2) 关于$()包装集你不知道的
2009/12/14 Javascript
jquery png 透明解决方案(推荐)
2010/08/21 Javascript
JavaScript高级程序设计阅读笔记(十六) javascript检测浏览器和操作系统-detect.js
2012/08/14 Javascript
2012年开发人员的16款新鲜的jquery插件体验分享
2012/12/28 Javascript
jQuery easyui datagrid动态查询数据实例讲解
2013/02/26 Javascript
如何用JavaScript动态呼叫函数(两种方式)
2013/05/03 Javascript
Jquery中offset()和position()的区别分析
2015/02/05 Javascript
基于JavaScript实现简单的随机抽奖小程序
2016/01/05 Javascript
基于jQuery实现的查看全文功能【实用】
2016/12/11 Javascript
利用JS如何计算字符串所占字节数示例代码
2017/09/13 Javascript
Angular实现搜索框及价格上下限功能
2018/01/19 Javascript
JS实现textarea通过换行或者回车把多行数字分割成数组并且去掉数组中空的值
2018/10/29 Javascript
layer弹出层倒计时关闭的实现方法
2019/09/27 Javascript
Python连接Mssql基础教程之Python库pymssql
2018/09/16 Python
python2.7 安装pip的方法步骤(管用)
2019/05/05 Python
django的model操作汇整详解
2019/07/26 Python
python爬取王者荣耀全皮肤的简单实现代码
2020/01/31 Python
python操作docx写入内容,并控制文本的字体颜色
2020/02/13 Python
python 写函数在一定条件下需要调用自身时的写法说明
2020/06/01 Python
基于Python实现下载网易音乐代码实例
2020/08/10 Python
如何利用pycharm进行代码更新比较
2020/11/04 Python
移动Web—CSS为Retina屏幕替换更高质量的图片
2012/12/24 HTML / CSS
HTML5新增的标签和属性归纳总结
2018/05/02 HTML / CSS
Kent & Curwen:与大卫·贝克汉姆合作
2017/06/13 全球购物
英国排名第一的礼品体验公司:Red Letter Days
2018/08/16 全球购物
十佳中学生事迹材料
2014/06/02 职场文书
党员四风问题对照检查材料思想汇报
2014/09/16 职场文书
家庭聚会祝酒词
2015/08/11 职场文书
详解JAVA的控制语句
2021/11/11 Java/Android
Vue3中的Refs和Ref详情
2021/11/11 Vue.js
人民币符号
2022/02/17 杂记
详解JSON.parse和JSON.stringify用法
2022/02/18 Javascript