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(条件,函数)
发表回复