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修复ipa处理过的png图片
Feb 17 NodeJs
NodeJs——入门必看攻略
Jun 27 NodeJs
NodeJS实现图片上传代码(Express)
Jun 30 NodeJs
详解HTTPS 的原理和 NodeJS 的实现
Jul 04 NodeJs
Windows下快速搭建NodeJS本地服务器的步骤
Aug 09 NodeJs
理解nodejs的stream和pipe机制的原理和实现
Aug 12 NodeJs
Nodejs中使用phantom将html转为pdf或图片格式的方法
Sep 18 NodeJs
nodejs async异步常用函数总结(推荐)
Nov 17 NodeJs
nodejs微信扫码支付功能实现
Feb 17 NodeJs
nodejs实现的简单web服务器功能示例
Mar 15 NodeJs
通过实例了解Nodejs模块系统及require机制
Jul 16 NodeJs
nodejs使用Sequelize框架操作数据库的实现
Oct 21 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 session 检测和注销
2009/03/16 PHP
linux iconv方法的使用
2011/10/01 PHP
ini_set的用法介绍
2014/01/07 PHP
PHP使用微信开发模式实现搜索已发送图文及匹配关键字回复的方法
2017/09/13 PHP
jquery ajax post提交数据乱码
2013/11/05 Javascript
Javascript编程中几种继承方式比较分析
2015/11/28 Javascript
浅析node连接数据库(express+mysql)
2015/11/30 Javascript
判断数组是否包含某个元素的js函数实现方法
2016/05/19 Javascript
JS针对浏览器窗口关闭事件的监听方法集锦
2016/06/24 Javascript
只需五句话搞定JavaScript作用域(经典)
2016/07/26 Javascript
JS for...in 遍历语句用法实例分析
2016/08/24 Javascript
jQuery实现边框动态效果的实例代码
2016/09/23 Javascript
微信小程序 页面滑动事件的实例详解
2017/10/12 Javascript
js实现会跳动的日历效果(完整实例)
2017/10/18 Javascript
微信小程序使用websocket通讯的demo,含前后端代码,亲测可用
2019/05/22 Javascript
JavaScript 中的执行上下文和执行栈实例讲解
2021/02/25 Javascript
[41:13]完美世界DOTA2联赛PWL S2 Forest vs Rebirth 第一场 11.20
2020/11/20 DOTA
使用Python多线程爬虫爬取电影天堂资源
2016/09/23 Python
python 删除大文件中的某一行(最有效率的方法)
2017/08/19 Python
Python实现按学生年龄排序的实际问题详解
2017/08/29 Python
win10下Python3.6安装、配置以及pip安装包教程
2017/10/01 Python
创建pycharm的自定义python模板方法
2018/05/23 Python
python使用pandas处理大数据节省内存技巧(推荐)
2019/05/05 Python
Pytorch evaluation每次运行结果不同的解决
2020/01/02 Python
Python PIL库图片灰化处理
2020/04/07 Python
python使用re模块爬取豆瓣Top250电影
2020/10/20 Python
领先的钻石和订婚戒指零售商:Diamonds-USA
2016/12/11 全球购物
攀岩、滑雪、徒步旅行装备:Black Diamond Equipment
2019/08/16 全球购物
酒店司机岗位职责
2013/12/14 职场文书
八年级英语教学反思
2014/01/09 职场文书
元旦晚会感言
2014/03/12 职场文书
学校做一个有道德的人活动方案
2014/08/23 职场文书
学雷锋日活动总结
2015/02/06 职场文书
2016入党积极分子党课学习心得体会
2015/10/09 职场文书
Pytorch 统计模型参数量的操作 param.numel()
2021/05/13 Python
写一个Python脚本下载哔哩哔哩舞蹈区的所有视频
2021/05/31 Python