ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

15.MongoDB数据库

2021-12-09 22:31:32  阅读:169  来源: 互联网

标签:const MongoDB 数据库 db 文档 mongoose 15


1.介绍与安装

介绍

MongoDB是非关系型数据库,基于分布式文件存储的开源数据库系统

理解关系型数据库与非关系型数据库(表就是关系)

关系型数据库(mysql)

  • 关系型数据库需要数据库操作
  • 关系型数据库在操作之前需要设计表结构
  • 数据支持约束(唯一性,主键,默认值,非空)

非关系型数据库(MongoDB)

  • 非关系数据库非常灵活
  • 大多是 key-value
  • 在MongoDB中

数据库=>数据库
数据表=>集合(数组)
表记录->(文档对象)

  • 不需要设计表结构

  • 可以任意存数据,无结构性

  • 组成:数据库,集合,文档

{ 数据库名称:{ 表名称:[ 字段 ] } }

安装

下载地址 https://www.mongodb.com/try/download/community

配置环境变量

  1. 复制mongoDB下载的bin地址:C:\Program Files\MongoDB\Server\5.0\bin
  2. 打开环境变量->找到path

检测安装是否成功

命令行输入mongod --version

2.开始

启动数据库 : mongod

  • 默认使用执行 mongod 命令所处盘符根目录下的/data/db 作为自己的数据存储目录,第一次执行该命令需要手动新建data/db目录,用于存储数据
  • 如果想修改默认的数据存储目录 :mongod --dbpath =数据存储目录路径

关闭数据库

控制台ctrl+c

连接数据库

mongo

退出连接

exit

3.基本命令

查看显示所有数据库

show dbs

切换到指定的数据库

use 数据库名

查看当前操作的数据库

db

插入数据

mongo.表名.insert

查看表内容

db.表名.find()

查看更多表数据(数据太多加载不出来时)

it+ 回车

4.在node中操作MongoDB数据库(mongoose模块)

1.下载第三方模块mongoose => npm i mongoose

2.基本步骤

  1. 引入模块
const mongoose = require('mongoose')

  1. 创建模型(设计一个数据库)
mongoose.connect("mongodb://localhost/test1");//test1为数据库名称
  1. 设置文档结构(表结构)

Scheme方法
设置字段必须有 required:true

const Schema = mongoose.Schema   //引入Schema方法
var userSchema = new Schema({//userSchema数据库结构方法名
    username: {
        type: String,
        required: true//设置字段为必须
    },
    pwd: {
        type: String,
        required: true
    }
})
  1. 实例化文档结构(将文档结构发布为模型)
const User = mongoose.model('User', userSchema)
  1. 对数据表增删改查操作(增删改查)
  2. 持久化保存kitty实例

5.对数据表增删改查操作

5.1增加

const admin = new User({
    username: 'admin',
    pwd: '123456',
    email: '123456@qq.com'
})

admin.save(function (err, ret) {
    if (err) {
        console.log('保存失败')
    } else {
        console.log('保存成功')
        console.log(ret)//打印结果
    }
})

标签:const,MongoDB,数据库,db,文档,mongoose,15
来源: https://www.cnblogs.com/mywifeisMsHu/p/15669588.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有