MongoDB数据库简介:

使用MongoDB的好处是不用SQL语句,它提供了对应的API,其功能和MYSQL基本相同,是最像关系型数据库的非关系型数据库;不需要设计表的结构,文档相当于json,如果想要了解更多,可以阅读相关文档:https://www.runoob.com/mongodb/mongodb-tutorial.html;

关系型数据库:表就是关系,表与表之间的关系,所有的关系型数据库都要通过SQL语言来操作。

非关系型数据库:比较灵活,没有表,有的就是键值对的形式。

MongoDB使用步骤如下:

  // 1.安装步骤:// 1.打开官网:https://www.mongodb.com ---> software ---> 选择免费Community server下载,注意一定要选择msi格式。// 2.将下载的程序双击打开,点击下一步,出现custom和complete时选择custom自定义目录安装,不勾选install MongoDB compass,最后点击install按照提示操作,finsh完成安装。// 3.打开命令行mongod --version查看版本,如果显示未安装,就去改变path指向的变量(复制mongodb的bin文件路径---我的电脑---属性---高级系统设置---环境变量---编辑path----新建添加复制的路径)// 2.启动:// 1.打开命令行键入命令:mongod 回车  , 如果启动不成功,则需要在安装文件所在盘符的根目录手动新建:data/db/    or   服务面板找到MongoDB服务启动// 2.改变数据存储目录键入命令:mongod --dbpath=数据储存目录路径// 3.停止:在控制窗口Ctrl + C    or    服务面板找到MongoDB点击停止  // 4.连接数据库:新打开命令窗口键入命令:mongo 回车默认连接本机数据库    or 可视化面板       ,退出a键入命令:exit// 5.其它基本命令:1.show dbs---显示所有数据库  // 2.use 数据库名----切换到指定数据(没有回自动建立),实际操作是在node中操作,一般不在命令窗口操作。// 在node中操作MongoDB:// 1.使用官方的mongodb包操作:https://www.github.com/mongodb/node-mongodb-native(查阅文档使用)// 2.也可以使用第三方基于mongodb的包 mongoose 操作:http://mongoosejs.com/(查阅文档使用),步骤:// 1.命令行键入命令:npm install mongoose --save;-----------使用npm安装mongoose// 2.const mongoose = require('mongoose');-----------------载入mongoose模块// 3.mongoose.connect('mongodb://localhost/test', {useNewUrlParser: true})-------连接MongoDB数据库// 4.const db = mongoose.connection;  db.on('error', console.error.bind(console, 'connection error:'));  db.once('open', function() {// we're connected!})-----测试数据库连接是否成功,可以不用写这段代码// 5.const kittySchema = new mongoose.Schema({name: String})--------从Schema中派生一切,可以不用写这段代码// 6.const Kitten = mongoose.model('Kitten', kittySchema)------模式编译成模型// 7.const silence = new Kitten({ name: 'Silence' });  console.log(silence.name); --------模型是用来构造文档的类,创建一个文档(实例化一个Kitten)// 8.Kitten.save(function (err) {if (err) return console.error(err);console.log('Kitten')})-------数据持久化// 9.Kitten.find(function (err) {if (err) return console.error(err);console.log('Kitten');})------查询数据

在node中使用mongoose:

  // 在安装完mongoose的情况下使用:// 1.载入mongoose模块:var mongoose = require('mongoose');// 2.连接数据库:mongoose.connect('mongodb://localhost/test',{useMongoClient:true});// 3.这段代码加不加都可以,后面学习promise时会具体讲解:mongoose.Promise = global.Promise;// 4.创建一个模型(设计数据库):var Cat = mongoose.model('Student',{name:String});//Cat为类似表名,自己会生成小写复数的集合名,把表称作集合// 5.持久化:jack.save(function (err) {if (err) {console.log(err);} else {console.log('meow 响应出结果');};});

mongoose中增删改查:

 var mongoose = require('mongoose');var Schema = mongoose.Schema;// 1. 连接数据库:指定连接的数据库可以不需要存在,当你插入第一条数据之后就会自动被创建出来:mongoose.connect('mongodb://localhost/itcast');// 2. 设计文档结构架构(表结构),字段名称就是表结构中的属性名称,约束的目的是为了保证数据的完整性,不要有脏数据:var userSchema = new Schema({username: {type: String,required: true // 必须有},password: {type: String,required: true},email: {type: String}})// 3. 将文档结构发布为模型//    mongoose.model 方法就是用来将一个架构发布为 model//    第一个参数:传入一个大写名词单数字符串用来表示你的数据库名称//                 mongoose 会自动将大写名词的字符串生成 小写复数 的集合名称//                 例如这里的 User 最终会变为 users 集合名称//    第二个参数:架构 Schema,即文档结构架构//    返回值:模型构造函数var User = mongoose.model('User', userSchema);// 4. 当我们有了模型构造函数之后,就可以使用这个构造函数对 users 集合中的数据增删改查:// 新增数据:var admin = new User({username: 'zss',password: '123456',email: 'admin@admin.com'});admin.save(function (err, ret) {if (err) {console.log('保存失败');} else {console.log('保存成功');console.log(ret);}});//查询数据:User.find(function (err, ret) {if (err) {console.log('查询失败')} else {console.log(ret)}})User.find({username: 'zs'}, function (err, ret) {if (err) {console.log('查询失败')} else {console.log(ret)}})User.findOne({username: 'zs'}, function (err, ret) {if (err) {console.log('查询失败')} else {console.log(ret)}})// 删除数据:User.remove({username: 'zs'}, function (err, ret) {if (err) {console.log('删除失败')} else {console.log('删除成功')console.log(ret)}})// 更新数据:User.findByIdAndUpdate('5a001b23d219eb00c8581184', {password: '123'}, function (err, ret) {if (err) {console.log('更新失败')} else {console.log('更新成功')}})

数据可视化工具mongobooster:

 // 数据可视化工具MongoBooster的使用步骤:// 1.下载地址:https://nosqlbooster.com/// 2.下载后双击,一路点击next// 3.双击打开,create一个数据库并测试连接是否成功// 4.对数据进行修改// node操作数据库://数据库操作模块var mongoose = require('mongoose')// 连接到mongoose数据库当中// connect连接     content内容   端口号(27017为固定端口号)// 端口号后面为数据库名称,如果有这个数据库,则直接连接,如果没有数据库则先创建,在连接mongoose.connect('mongodb://127.0.0.1:27017/test', function(err) {if (err) {console.log('数据库连接失败')} else {console.log('数据库连接成功')}})// 数据库 =>数据表  一个数据库里面可以有多个不同类型的数据表// 数据表 => 数据  一个数据表里面可以有多个不同类型的数据// schema 图表var messageSchema = new mongoose.Schema({// 该数据为字符串类型connect: String,name: String,age: Number,hasStar: Boolean})// model  模型var Message = mongoose.model('messageBox', messageSchema)var first = new Message({content: '今天是周日',name: '小熊',age: 3,hasStar: false})// 保存first.save(function(err) {if (err) {console.log('保存失败')} else {console.log('保存成功')}})// fs.readFile(,function(err,data))Message.find(function(err, data) {if (err) {console.log('数据库读取失败')} else {//   读取的时候返回的是数组[ ]console.log('数据库读取成功')console.log(data)}})

提示:本文图片等素材来源于网络,若有侵权,请发邮件至邮箱:810665436@qq.com联系笔者删除。
笔者:苦海

MongoDB简介、在node中使用MongoDB相关推荐

  1. 使用mongoose 在 Node中操作MongoDB数据库

    MongoDB 关系型和非关系型数据库 关系型数据库(表就是关系,或者说表与表之间存在关系). 所有的关系型数据库都需要通过sql语言来操作 所有的关系型数据库在操作之前都需要设计表结构 而且数据表还 ...

  2. mongodb python 大于_Python中使用MongoDB详解

    作者:Zarten知乎专栏:Python爬虫深入详解知乎ID: Zarten简介: 互联网一线工作者,尊重原创并欢迎评论留言指出不足之处,也希望多些关注和点赞是给作者最好的鼓励 ! 介绍 MongoD ...

  3. mongodb 事务_Spring Boot中使用MongoDB数据库

    MongoDB简介 MongoDB是一个基于分布式文件存储的数据库,它是一个介于关系数据库和非关系数据库之间的产品,其主要目标是在键/值存储方式(提供了高性能和高度伸缩性)和传统的RDBMS系统(具有 ...

  4. python连接mongodb进行查询_Python中的MongoDB基本操作:连接、查询实例

    MongoDB是一个基于分布式文件存储的数据库.由C++语言编写.旨在为WEB应用提供可护展的高性能数据存储解决方案.它的特点是高性能.易部署.易使用,存储数据非常方便. MongoDB 简单使用 联 ...

  5. MongoDB数据库(8.Python中使用mongodb数据库以及pymongo模块用法)

    在Python中使用MongoDB数据库,首先要下载pymongo模块 直接在命令行   pip install pymongo   就可以了 Python中使用pymongo模块对MongoDB数据 ...

  6. 安装好MongoDB,但服务中没有MongoDB服务的解决办法

    以管理员身份打开CMD,添加路径添加服务即可 win+X 然后再选A mongod -dbpath "D:\MongoDB\Server\3.6\data\db" -logpath ...

  7. MongoDB简介与安装

    1.MongoDB简介 1.1什么是MongoDB MongoDB 是一个跨平台的,面向文档的数据库,是当前 NoSQL 数据库产品中最热门的一种.它介于关系数据库和非关系数据库之间,是非关系数据库当 ...

  8. node --- 在node中使用mongoosemongoDB的安装

    *首先确保,你的电脑安装了mongodb,网址: mongodb官网 *使用npm安装 mongoose: mongoose官网 ps:mongoose是Node中操作mongoDB的第三方插件.用于 ...

  9. 路漫漫其修远兮:js的成长经历(二十五)—— Node.js中的MongoDB

    目录 MongoDB简介 MongoDB安装教程 mongoDB基本组成 mongoDB的基本指令 安装可视化操作软件 熟悉使用MongoDB的基本指令(增删改查等) Node进阶-Mongoose ...

最新文章

  1. Numpy生成二项分布随机数
  2. 【机器学习】支持向量机和ensemble method的解析应用
  3. wust2013届推免生复试机试代码
  4. 从零开始学springboot笔记(二)-Spring boot返回json数据(中文无乱码)
  5. 目标检测、分割、识别、分类综述
  6. Grunt 入门指南3:创建Tasks
  7. java skip_Java LongStream skip()用法及代码示例
  8. IBM语音识别能力逼近人类水平,获深度学习巨头Yoshua Bengio盛赞
  9. 趋势科技防毒墙—控管中心
  10. Activiti7 表介绍
  11. PHP 之建行龙支付 - 退款
  12. 亚马逊云计算机配置,亚马逊云教程6:创建、启动AMI,设置Cloud Watch
  13. c语言英文的读法将时间读出来,c怎么读(英文c正确读音)
  14. 平面设计和包装设计的区别关系是什么
  15. 学习关于 2D 和 3D 姿势估计的知识
  16. 如何在Excel中的每个打印页面上重复特定的行或列
  17. Python_np.sum()函数
  18. NeXt VLAD多模态视频分类
  19. 探寻Beacon技术
  20. 标签打印机TSPL打印指令

热门文章

  1. jpa 自定义sql if_SpringBoot整合JPA实现多数据源及读写分离
  2. python(20)之读写文件
  3. 数据采集与清洗基础习题(二)Python爬虫常用模块,头歌参考答案
  4. 【OpenCV 例程200篇】07. 图像的创建(np.zeros)
  5. win下python和opencv安装
  6. flutter ios打包_使用 Travis CI 为 Flutter 项目打包 Android/iOS 应用
  7. 如何区分电梯卡为id卡ic卡_电梯刷卡系统基本属性
  8. ipv6的127位掩码如何表示_子网掩码为255.255.255.0代表的意思是什么?
  9. vue 字典配置_vue遍历数据及字典的方法
  10. 浅谈数据库三大范式的理解