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(条件,函数)
服务器托管,北京服务器托管,服务器租用 http://www.fwqtg.net