day28-mongodb
一、介绍
1. 数据库介绍
2. 数据库分类
3.mongodb 介绍
二、下载安装
三、命令行操作
1. 基本操作
在 cmd 输出 mongo
退出 mongodb 应用 exit
查看所有数据库列表 ----show dbs---- 此命令不显示空库
创立数据库或切换数据库 --use 数据库名 --- 存在则切换,不存在则创立
查看库中所有表 ---show tables 或 show collections
数据库中的表不须要创立,增加数据会主动生成表
db. 表名.insert(JSON 格局数据)--- 数据是对象则增加一条,是数据则增加多条
删除表 ---db. 表名.drop()
删除库 --- 需进入要删除的库,后执行命令 --db.dropDatabase()
***2. 数据操作
2.1 增
db. 表名.insertMany([{},{},{}])
增加一条数据就是数据中的一个对象,多条数据就是数组中的多个对象
2.2 删
删除已存在的文档数据 ---db. 表名.deleteOne(条件)
2.3 改
依据指定条件,将数据中的某一部分批改为指定的新数据
db. 表名.updateOne({条件}, {$set: { 新的数据}})
让指定条件的数据中的某个数字自增或自减:db. 表名.updateOne({条件}, {$inc: { 键: 自增多少的数字}})
2.4 查
查问所有数据:db. 表名 / 汇合名.find()带条件查问:db. 表名 / 汇合名.find({条件})
某个键 等于 某个值 -----{键: 值}
某个键 大于 某个值 -----{键: {$gt: 值}}
某个键 大于等于 某个值 -----{键: {$gte: 值}}
某个键 小于 某个值 -----{键: {$lt: 值}}
某个键 小于等于 某个值 -----{键: {$lte: 值}}
某个键 不等于 某个值 -----{键: {$ne: 值}}
某个键 在 某个数组中 -----{键: {$in: [ 值, 值]}}
并且的条件 -----{条件, 条件}
或者的条件 -----{$or: [{ 条件}, {条件}]}
以正则表达式作为条件查问 ----{键: 正则表达式}
空条件示意查问所有 ---{}
在查问后果中,心愿某些键值对不显示或强制显示 --db. 表名.find(条件, { 键: 0/1})----------- 0 示意这个键不显示,1 示意这个键要强制显示
统计查问后果的数据的数量 -----db. 表名.find(条件).count()
统计所有数据的数据量 ------db. 表名.count()
排序 ------db. 表名.find(条件).sort({键: 1/-1})--------- 1 示意升序,- 1 示意降序
数据很多,然而要分页显示,依据以后是第几页来查问须要的数据 ----db. 表名.find().skip( 数字).limit(数字)---------- skip 中的数据,示意跳过后面多少条数据,开始查问,limit 中的数据,示意要查问多少 条数据
四、可视化操作
五、代码操作 —–mongoose
1. 下载安装 --npm i mongoose@6
2. 导入模块 ---const mongoose = require('mongoose')
3. 连贯数据库 mongoose.connect('mongodb://localhost:27017/ 数据库名')
4. 创立 Schema--- 给数据设置格局,束缚数据,默认 mongodb 对数据没有束缚
const userSchma = new mongoose.Schema({
username: {
required: true, // 必填
type: String
},
password: String,
tel: Number,
isMan: Boolean,
email: String
})
5. 创立 model
const userModel = mongoose.model('user',Schema)
参数 1:模型名称 --- 字符串
参数 2:Schema
参数 3:可选项,表名,不写默认为模型名称 +s
6. 数据操作
①插入:模型.insertMany(数据,函数)------ 异步操作
②批改:模型.updataOne(条件,要批改的数据,函数)---- 异步操作
③查问
查问多个:模型.find(条件, 函数)
查问一个:模型.findOne(条件,函数)
④删除:模型.deleteOne(条件,函数)