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(三)--- Node.js模块
May 25 NodeJs
NodeJS学习笔记之网络编程
Aug 03 NodeJs
Nodejs实现的一个静态服务器实例
Dec 06 NodeJs
NodeJS连接MongoDB数据库时报错的快速解决方法
May 13 NodeJs
Nodejs从有门道无门菜鸟起飞必看教程
Jul 20 NodeJs
angular2+nodejs实现图片上传功能
Mar 27 NodeJs
nodejs个人博客开发第七步 后台登陆
Apr 12 NodeJs
nodejs动态创建二维码的方法
Aug 12 NodeJs
nodeJs实现基于连接池连接mysql的方法示例
Feb 10 NodeJs
nodejs express配置自签名https服务器的方法
May 22 NodeJs
NodeJS使用Range请求实现下载功能的方法示例
Oct 12 NodeJs
如何利用nodejs实现命令行游戏
Nov 24 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.ini中添加extension=php_mysqli.dll指令的说明
2007/06/14 PHP
php5新改动之短标记启用方法
2008/09/11 PHP
php基于session实现数据库交互的类实例
2015/08/03 PHP
php微信开发之关键词回复功能
2018/06/13 PHP
图片延迟加载的实现代码(模仿懒惰)
2013/03/29 Javascript
Jquery网页出现的乱码问题的三种解决方法
2013/06/30 Javascript
利用javascript判断文件是否存在
2013/12/31 Javascript
jquery动态加载js/css文件方法(自写小函数)
2014/10/11 Javascript
Node.js与Sails ~项目结构与Mvc实现及日志机制
2015/10/14 Javascript
jQuery Uploadify 上传插件出现Http Error 302 错误的解决办法
2015/12/12 Javascript
JavaScript制作简单分页插件
2016/09/11 Javascript
H5图片压缩与上传实例
2017/04/21 Javascript
webuploader分片上传的实现代码(前后端分离)
2018/09/10 Javascript
vue基础之data存储数据及v-for循环用法示例
2019/03/08 Javascript
vue请求服务器数据后绑定不上的解决方法
2019/10/30 Javascript
如何通过vscode运行调试javascript代码
2020/07/24 Javascript
浅谈vue使用axios的回调函数中this不指向vue实例,为undefined
2020/09/21 Javascript
使用Python脚本来获取Cisco设备信息的示例
2015/05/04 Python
Python编程对列表中字典元素进行排序的方法详解
2017/05/26 Python
python将字符串以utf-8格式保存在txt文件中的方法
2018/10/30 Python
python实现定时发送qq消息
2019/01/18 Python
详解Python用三种方式统计词频的方法
2019/07/29 Python
html5记忆翻牌游戏实现思路及代码
2013/07/25 HTML / CSS
Melijoe美国官网:法国奢侈童装购物网站
2017/04/19 全球购物
巴黎一票通:The Paris Pass
2018/02/10 全球购物
Sisley法国希思黎美国官方网站:享誉全球的奢华植物美容品牌
2020/06/27 全球购物
实习教师自我鉴定
2013/12/12 职场文书
考察现实表现材料
2014/05/19 职场文书
企业贷款委托书格式
2014/09/12 职场文书
工程承包协议书范本
2014/09/29 职场文书
2015年公司国庆放假通知
2015/07/30 职场文书
宾馆卫生管理制度
2015/08/06 职场文书
《彼得与狼》教学反思
2016/02/20 职场文书
有关保护环境的宣传标语100条
2019/08/07 职场文书
祝福语集锦:给满月宝宝的祝福语
2019/11/20 职场文书
一文了解MySQL二级索引的查询过程
2022/02/24 MySQL